This is a proposal for ReactiveConf 2017 open call for Lightning talks. If you'd like to make this talk happen, please 🌟 this gist and retweet my tweet. 🙏
✅ Don't just prototype but code as a designer
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<style> | |
body{ | |
font-family: sans; | |
padding: 10px; | |
} | |
svg path{ |
... | |
#import "RCTLog.h" | |
... | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
RCTSetLogThreshold(RCTLogLevelInfo); | |
... |
This is a proposal for ReactiveConf 2017 open call for Lightning talks. If you'd like to make this talk happen, please 🌟 this gist and retweet my tweet. 🙏
✅ Don't just prototype but code as a designer
/** | |
* This script was taken from a discussion on Google Groups. | |
* I'm not taking credit for it but sharing it because it is very useful for splitting | |
* discontinuous absolute paths into continuous subpaths. Where this is particularly | |
* useful is for importing SVG files into applications like Figma, Sketch, InVision, XD, etc. | |
*/ | |
/** | |
* Split discontinuous absolute paths into continuous sub-paths. | |
* | |
* Example: |
const {useCallback, useEffect, useReducer, useRef} = require('react'); | |
let effectCapture = null; | |
exports.useReducerWithEmitEffect = function(reducer, initialArg, init) { | |
let updateCounter = useRef(0); | |
let wrappedReducer = useCallback(function(oldWrappedState, action) { | |
effectCapture = []; | |
try { | |
let newState = reducer(oldWrappedState.state, action.action); |