Redux的基本使用&&API介紹react
function addTo(num) { return { type: 'Increment', num } } export default addTo;
createStore
這個函數,用來生成 Store。
import { createStore } from 'redux' import reducer from './reducer' let store = createStore( reducer )
import { createStore } from 'redux'; const store = createStore(reducer); store.subscribe(listener);
let unsubscribe = store.subscribe(() =>
console.log(store.getState())
);
unsubscribe();
connect&&Provier的使用redux
import { Provider } from 'react-redux' import store from './store' ReactDOM.render( <Provider store={store}> <App /> </Provider> , document.getElementById('root'));
export default connect( mapStateToProps, mapDispatchToProps )(App);
const mapStateToProps = (state) => { return { todos: getVisibleTodos(state.todos, state.visibilityFilter) } } //getVisibleTodos是一個自定義計算state的函數
const mapStateToProps = (state, ownProps) => { return { active: ownProps.filter === state.visibilityFilter } }
const mapDispatchToProps = ( dispatch, ownProps ) => { return { onClick: () => { dispatch({ type: 'SET_VISIBILITY_FILTER', filter: ownProps.filter }); } }; }