Skip to content

Instantly share code, notes, and snippets.

View AndreiCalazans's full-sized avatar
🏠
Working from home

Andrei Xavier de Oliveira Calazans AndreiCalazans

🏠
Working from home
View GitHub Profile
import React from 'react';
import { ScrollView, TouchableOpacity } from 'react-native';
import { createStackNavigator } from 'react-navigation';
import { ListItem, Text } from 'react-native-elements';
// USAGE COMPONENTS
import Avatar from './components/stories/Avatar.usage';
const List = ({ navigation }) => (
<ScrollView>
componentDidMount () {
if (__DEV__) {
const DevMenu = require('react-native-dev-menu');
DevMenu.addItem('StoryBook', () => this.props.navigation.navigate('STORYBOOK'));
}
}
AppRegistry.registerComponent('poormanStorybook', () => StorybookUIHMRRoot);
import { createStackNavigator } from 'react-navigation';
import Home from './Home';
import StorybookUI from '../storybook/storybook';
const navigationOptions = {
header: null,
};
@AndreiCalazans
AndreiCalazans / QueryRenderer.js
Created July 18, 2018 11:31
Query Renderer for Relay
// @flow
import * as React from 'react';
import hoistStatics from 'hoist-non-react-statics';
import { QueryRenderer } from 'react-relay';
import idx from 'idx';
import Loading from '../components/common/Loading';
import HandleNetworkError from '../components/common/HandleNetworkError';
import environment from './Environment';
@AndreiCalazans
AndreiCalazans / Environment.js
Created July 18, 2018 11:32
Environment for relay
import { Environment, Network, RecordSource, Store } from 'relay-runtime';
import { GRAPHQL_ENDPOINT } from 'react-native-dotenv';
import { AsyncStorage } from 'react-native';
import { AUTH_TOKEN } from '../utils/constants';
const environment = (endpoint: string = GRAPHQL_ENDPOINT) => {
const store = new Store(new RecordSource());
const fetchQuery = async (operation, variables) => {
@AndreiCalazans
AndreiCalazans / ReactClassComponentWithConstructor.js
Created September 16, 2018 12:13
React class component using constructor.
class App extends Component {
constructor() {
super();
this.state = {
counter: 0,
}
this.setCounter = this.setCounter.bind(this);
}
setCounter() {
@AndreiCalazans
AndreiCalazans / ReactClassComponentUsingClassFields.js
Created September 16, 2018 12:16
React Class component using class fields.
class App extends Component {
state = {
counter: 0,
}
setCounter = () => {
this.setState((prevState) => ({
counter: prevState.counter + 1,
}));
}
render() {
return (
<div className="App">
<h1>{this.props.title}</h1>
<p>{this.props.description}</p>
<p>Current count is {this.state.counter}</p>
<button onClick={this.setCounter}>Add</button>
</div>
)
}
render() {
const { title, description } = this.props;
return (
<div className="App">
<h1>{title}</h1>
<p>{description}</p>
<p>Current count is {this.state.counter}</p>
<button onClick={this.setCounter}>Add</button>
</div>
)