Skip to content

Instantly share code, notes, and snippets.

@MicheleBertoli
MicheleBertoli / StyleSheet.js
Created February 15, 2016 20:33
React Look: Extract CSS File
export(userAgent) {
return StyleContainer.renderStaticStyles(userAgent)
}
const RenderIf = (Component, condition) => {
class Child extends Component {
constructor(props) {
super(props);
}
render() {
if (condition(this.props, this.state)) {
return super.render();
}
return null;
@MicheleBertoli
MicheleBertoli / demo.js
Created January 7, 2016 13:33
onDragEnd Handler
import React from 'react';
import ReactDOM from 'react-dom';
import {Gmaps, Marker} from 'react-gmaps';
const App = React.createClass({
getInitialState() {
return {
open: false,
lat: 51.5258541,
@MicheleBertoli
MicheleBertoli / demo.js
Last active January 6, 2016 15:57
Map Type
import React from 'react';
import ReactDOM from 'react-dom';
import {Gmaps} from 'react-gmaps';
const App = React.createClass({
onMapCreated(map) {
map.setMapTypeId(google.maps.MapTypeId.HYBRID);
},
@MicheleBertoli
MicheleBertoli / demo.js
Created December 13, 2015 13:30
Memory Leak
import React from 'react';
import ReactDOM from 'react-dom';
import {Gmaps} from 'react-gmaps';
let interval;
const App = React.createClass({
getInitialState() {
return {
@MicheleBertoli
MicheleBertoli / demo.js
Created December 3, 2015 13:37
Geolocation
import React from 'react';
import ReactDOM from 'react-dom';
import {Gmaps} from 'react-gmaps';
const App = React.createClass({
onMapCreated(map) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition((position) => {
map.setCenter({
@MicheleBertoli
MicheleBertoli / index.html
Created November 30, 2015 11:44
The simplest SPA ever
<!DOCTYPE html>
<html>
<head>
<title>The simplest SPA ever</title>
<script type="text/javascript">
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.
@MicheleBertoli
MicheleBertoli / component.js
Created November 28, 2015 08:13
Scrolling to bottom a React Native ListView
const {contentLength, visibleLength} = this.refs.listView.scrollProperties;
if (contentLength > visibleLength) {
this.refs.listView.getScrollResponder().scrollTo(contentLength - visibleLength);
}
import _ from 'lodash';
import {EventEmitter} from 'events';
const CHANGE_EVENT = 'change';
const BaseStore = _.assign({}, EventEmitter.prototype, {
emitChange() {
this.emit(CHANGE_EVENT);
},
import React from 'react';
import ReactDOM from 'react-dom';
import {Gmaps, Marker} from 'react-gmaps';
const coords = {
lat: 51.5258541,
lng: -0.08040660000006028
};
const App = React.createClass({