Skip to content

Instantly share code, notes, and snippets.

View okonet's full-sized avatar

Andrey Okonetchnikov okonet

View GitHub Profile
@okonet
okonet / ScrollPane.js
Last active January 16, 2017 10:52
React at 60fps Example 1
class ScrollPane extends React.Component {
componentDidUpdate() {
// Each time we get new props we set the
// new scrollTop position on the DOM element
this.el.scrollTop = this.props.scrollTop
}
render() {
<div ref={(el) => {this.el = el}}>
}
}
@okonet
okonet / ScrollPane.js
Created January 13, 2017 18:19
React at 60fps Example 3
export default class ScrollPane extends Component {
static contextTypes = {
registerPane: PropTypes.func.isRequired,
unregisterPane: PropTypes.func.isRequired
};
componentDidMount() {
this.context.registerPane(this.el)
}
@okonet
okonet / ScrollPane.js
Created January 13, 2017 18:17
React at 60fps Example 2
handleScroll = (evt) => {
// Calculate new scrollTop positions
// for left and right panes based on
// DOM nodes and evt.target.scrollTop
this.leftPaneScrollTop = …
this.rightPaneScrollTop = …
}
@okonet
okonet / webpack.config.js
Last active September 19, 2016 22:31
Long-term caching with webpack example
var path = require('path');
var webpack = require('webpack');
var ManifestPlugin = require('webpack-manifest-plugin');
var ChunkManifestPlugin = require('chunk-manifest-webpack-plugin');
var WebpackMd5Hash = require('webpack-md5-hash');
module.exports = {
entry: {
vendor: './src/vendor.js',
main: './src/index.js'
@okonet
okonet / esnextbin.md
Last active August 4, 2016 13:13
esnextbin sketch
@okonet
okonet / .gitconfig
Created July 31, 2016 07:56
My Git Config
[core]
excludesfile = ~/.gitignore
autocrlf = false
pager = diff-so-fancy | less --tabs=4 -RFX
[alias]
st = status -sb
ci = commit
co = checkout
br = branch
df = diff --word-diff
@okonet
okonet / esnextbin.md
Created July 6, 2016 07:55
esnextbin sketch
@okonet
okonet / esnextbin.md
Last active July 6, 2016 07:54
esnextbin sketch
@okonet
okonet / esnextbin.md
Created July 6, 2016 07:53
esnextbin sketch
@okonet
okonet / test.jsx
Last active January 8, 2016 22:15
What's more _readable_ in your opinion?
<Card>
<h4 className="TaskListItem_title">
<span className="TaskListItem_icon-type">
<Icon name={iconMap[type]}/>
</span>
{title} <span className="TaskListItem_id">#{id}</span>
</h4>
<div className="TaskListItem_stats">
<p className="TaskListItem_stat-item"><Icon name="code-fork"/> {commits}</p>