Skip to content

Instantly share code, notes, and snippets.

View bebraw's full-sized avatar

Juho Vepsäläinen bebraw

View GitHub Profile
@ericjuta
ericjuta / index.jsx
Created May 20, 2016 12:57
Mobx HMR ES6 stores
import React from 'react'
import { render } from 'react-dom'
import { Router, browserHistory, match } from 'react-router'
import createStore from '../shared/lib/create-store.js'
import ContextProvider from '../shared/lib/context-provider.js'
import { fetchDataOnLocationMatch } from '../shared/lib/fetch-data.js'
import Root from './Root.jsx'
import routes from '../shared/routes.jsx'
import { AppContainer } from 'react-hot-loader'
import { observable, computed, autorun } from 'mobx'

The issue:

..mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap.

(from a new defunct https://developers.google.com/mobile/articles/fast_buttons article)

touch-action CSS property can be used to disable this behaviour.

touch-action: manipulation The user agent may consider touches that begin on the element only for the purposes of scrolling and continuous zooming. Any additional behaviors supported by auto are out of scope for this specification.

@bishboria
bishboria / springer-free-maths-books.md
Last active September 25, 2025 06:28
Springer made a bunch of books available for free, these were the direct links
@jlongster
jlongster / immutable-libraries.md
Last active November 7, 2024 13:11
List of immutable libraries

A lot of people mentioned other immutable JS libraries after reading my post. I thought it would be good to make a list of available ones.

There are two types of immutable libraries: simple helpers for copying JavaScript objects, and actual persistent data structure implementations. My post generally analyzed the tradeoffs between both kinds of libraries and everything applies to the below libraries in either category.

Libraries are sorted by github popularity.

Persistent Data Structures w/structural sharing

@pezza3434
pezza3434 / gist:ac5db3fd5a3b6bc985e4
Last active March 21, 2016 14:16
Submission to speak at reactive2015

##Moving from Angular to React

For over a year I had been helping to create a production app with Angular. I was initially hugely impressed by the advantages Angular offered and invested a lot of time learning the intricacies of the framework.

Having being initially cautious about React as one of the many upcoming frameworks that wouldn't stick around I was hesitant to make the switch. However, after making the jump I've been using React for a few months now and been thouroughly impressed.

This will be a short talking explaining:

  • The shift in thinking when moving from Angular to React
  • The difficulties when moving from Angular to React
  • What we can learn from Angular and how having a previous knowledge of other frameworks can help significantly when creating React apps.
import React, {Component} from 'react';
import request from 'superagent-bluebird-promise';
class AjaxGet extends Component {
constructor(props, context) {
super(props, context);
this.state = {
data: {}
};
@HenrikJoreteg
HenrikJoreteg / README.md
Last active September 20, 2021 01:36
Minimalist routing in Redux

Why would you want to do this? Because you often don't need more. It's nice to not have to think about your "router" as this big special thing.

Instead, with this approch, your app's current pathname is just another piece of state, just like anything else.

This also means that when doing server-side rendering of a redux app, you can just do:

var app = require('your/redux/app')
var React = require('react')

Hi Zach :D

Modals are funny beasts, usually they are a design cop-out, but that's okay, designers have to make trade-offs too, give 'em a break.

First things first, I'm not sure there is such thing as a "simple" modal that is production ready. Certainly there have been times in my career I tossed out other people's "overly complex solutions" because I simply didn't understand the scope of the problem, and I have always loved it when people who have a branch of experience that I don't take the time

module.exports = React.createClass({
displayName : 'LazyRender',
getInitialState() { return { props : this.props } },
componentWillReceiveProps(newProps) { setTimeout(() => this.setState(newProps), 10) },
shouldComponentUpdate(newProps, newState) { return this.state !== newState; },
render() { return React.cloneElement(React.Children.only(this.props.children), this.state); }
});
// Have some complicated non-React widgets that manipulate DOM?
// Do they manage a list of DOM elements? Here's how to wrap it
// into a React component so you can "constantly rerender" it.
// A dumb non-react widget that manually manage some DOM node that
// represent a list of items
function NonReactWidget(node) {
this.node = node;
}