Skip to content

Instantly share code, notes, and snippets.

View robertlong's full-sized avatar

Robert Long robertlong

View GitHub Profile
@HelveticaScenario
HelveticaScenario / ReactSurface.js
Last active August 29, 2015 14:00
React.js as a famo.us surface
/*
This is an extension of the famo.us Surface type. It behaves the exact same except that the content
property holds a ProxyConstructor object (the type that gets returned by any of the React component
functions such as those in React.DOM or created by React.createClass) instead of a string or Node.
One thing to note is that the component fed in to content will get an extra prop, _surface, which
is the surface object that holds it
example usage
var TestComponent = React.createClass({
@spoike
spoike / reflux.js
Created June 29, 2014 22:23
A simpler implementation of React.JS's Flux
var EventEmitter = require('events').EventEmitter,
_ = require('lodash');
/**
* Creates an action functor object
*/
exports.createAction = function() {
var action = new EventEmitter(),
eventLabel = "action",
@diegopacheco
diegopacheco / FRP.md
Last active August 8, 2017 12:26
Functional Reactive Streams | FRP | Akka | Streams

Folder Structure

Please note

While this gist has been shared and followed for years, I regret not giving more background. It was originally a gist for the engineering org I was in, not a "general suggestion" for any React app.

Typically I avoid folders altogether. Heck, I even avoid new files. If I can build an app with one 2000 line file I will. New files and folders are a pain.

@staltz
staltz / index.ios.js
Created April 7, 2015 06:43
Experiment with Cycle.js and React Native
'use strict';
var React = require('react-native');
var Cycle = require('cyclejs');
var {Rx, h} = Cycle;
var createExperimentalIOSRenderer = require('./src/ios-renderer.ios.js');
var {StyleSheet, Text, TextInput, View} = React;
var styles = StyleSheet.create({
container: {
@tbranyen
tbranyen / events.js
Last active May 10, 2024 14:54
Rethinking events using ES6 (https://tbranyen.com/events)
const bus = {};
const get = e => (bus[e] = bus[e] || new Set());
export const listeners = new Proxy(bus, { get });
export const emit = (e, ...args) => listeners[e].forEach(fn => fn(...args));
@tranquan
tranquan / xcode-keybindings-as-vscode.md
Last active July 7, 2024 17:02
Xcode KeyBindings as VSCode