(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
import React, {Profiler} from 'react'; | |
import callback from './profiler'; | |
function anyComponent() { | |
return ( | |
<Profiler id="any-component" onRender={callback}> | |
<div>Some Component</div> | |
</Profiler> | |
); | |
} |
// Place your key bindings in this file to overwrite the defaults | |
[ | |
{ | |
"key": "cmd+alt+l", | |
"command": "editor.action.formatDocument" | |
}, | |
{ | |
"key": "alt+a", | |
"command": "editor.action.replaceAll", | |
"when": "editorFocus" |
#!/bin/bash | |
REGEX=$(node -e 'var pkg = require("./package");console.log(Object.keys(pkg.devDependencies).concat(Object.keys(pkg.dependencies)).join("\\|"))') | |
grep -iH "'$REGEX'" `find . -name "*.js" | grep -v 'node_modules\|bundle'` |
/** | |
* Stores are just seed + reduce function. | |
* Notice they are plain objects and don't own the state. | |
*/ | |
const countUpStore = { | |
seed: { | |
counter: 0 | |
}, | |
reduce(state, action) { |
The MIT License (MIT) | |
Copyright (c) 2014 Tomas Kafka | |
Permission is hereby granted, free of charge, to any person obtaining a copy | |
of this software and associated documentation files (the "Software"), to deal | |
in the Software without restriction, including without limitation the rights | |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
copies of the Software, and to permit persons to whom the Software is | |
furnished to do so, subject to the following conditions: |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.