Skip to content

Instantly share code, notes, and snippets.

View chuyihuang's full-sized avatar

Bamboo Huang chuyihuang

View GitHub Profile
@chuyihuang
chuyihuang / store.js
Created September 12, 2017 11:51
week_4_demo_3
import {createStore, applyMiddleware, compose} from 'redux';
import thunk from 'redux-thunk';
import indexReducer from './reducers/index';
import {persistStore, autoRehydrate} from 'redux-persist';
import {AsyncStorage} from 'react-native';
const store = compose(applyMiddleware(thunk), autoRehydrate())(createStore)(indexReducer)
persistStore(store, {blacklist: [], storage: AsyncStorage});
@chuyihuang
chuyihuang / store.js
Created September 5, 2017 09:39
week_4_demo_2
// store.js加入redux-thunk
import {createStore, applyMiddleware, compose} from 'redux';
import thunk from 'redux-thunk';
import indexReducer from './reducers/indexReducer';
const store = compose(applyMiddleware(thunk))(createStore)(indexReducer);
export default store;
@chuyihuang
chuyihuang / todo.js
Created September 5, 2017 09:38
week_4_demo_1
//actions改為thunk版本
import * as Types from '../types';
export function addTodo(todo) {
return (dispatch) => {
dispatch({
type: Types.ADD_TODO,
payload: todo,
})
@chuyihuang
chuyihuang / Todo.js
Created August 29, 2017 10:30
week_3_demo_10
import React, { Component } from 'react';
import { View, TextInput, Text, Button } from 'react-native';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {addTodo, toggleTodo} from '../actions/todo.js';
const mapStateToProps = (state) => {
return {
todos: state.todos,
}
@chuyihuang
chuyihuang / Todo.js
Created August 29, 2017 10:14
week_3_demo_9
import React, { Component } from 'react';
import { View, TextInput, Text, Button } from 'react-native';
import store from '../store';
import * as Types from '../types';
import {connect} from 'react-redux';
const mapStateToProps = (state) => {
return {
todos: state.todos,
}
@chuyihuang
chuyihuang / App.js
Created August 29, 2017 10:14
week_3_demo_8
// @flow
import React from 'react';
import { Provider } from 'react-redux';
import store from './app/store';
import Todo from './app/components/Todo'
const App = (props) => {
return (
<Provider store={store}>
@chuyihuang
chuyihuang / indexReducer.js
Created August 29, 2017 09:57
week_3_demo_7
import {combineReducers} from 'redux';
import todos from './todos';
const indexReducer = combineReducers({
todos,
});
export default indexReducer;
@chuyihuang
chuyihuang / todos.js
Last active August 29, 2017 10:29
week_3_demo_6
import * as Types from '../types';
const initialState = [];
export default function(state = initialState, action = {}) {
switch (action.type) {
case Types.ADD_TODO:
return [...state , action.payload];
case Types.TOGGLE_TODO:
let filteredTodos = state.filter((todo) => todo.id !== action.payload.id);
@chuyihuang
chuyihuang / App.js
Created August 29, 2017 09:45
week_3_demo_5
import React, { Component } from 'react';
import { View, TextInput, Text, Button } from 'react-native';
import store from './app/store';
import * as Types from './app/types';
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
value: null,
@chuyihuang
chuyihuang / store.js
Created August 29, 2017 09:31
week_3_demo_4
import {createStore} from 'redux';
import indexReducer from './reducers/indexReducer';
const store = createStore(indexReducer);
export default store;