11-React Redux Setup
2020-01-29 本文已影响0人
钢笔先生
Time: 20200129
先装必要的环境:yarn add redux react-redux
项目结构
我们先把redux
相关的准备工作都放到/redux
文件夹下。
关于cake
的都放在/redux/cake
文件夹下。
cakeTypes.js
export const BUY_CAKE = 'BUY_CAKE'
cakeActions.js
import { BUY_CAKE } from './cakeTypes'
export const buyCake = () => {
return {
type: BUY_CAKE
}
}
cakeReducer.js
import { BUY_CAKE } from './cakeTypes'
const initialState = {
numOfCakes: 10,
}
const cakeReducer = (state=initialState, action) => {
switch (action.type) {
case BUY_CAKE:
return {
...state,
numOfCakes: state.numOfCakes - 1
}
default:
return state
}
}
export default cakeReducer
在/redux
目录下,新建store.js
,因为整个应用就一个store
。代码如下:
import { createStore } from 'redux'
import cakeReducer from './cakes/cakeReducer'
const store = createStore(cakeReducer)
export default store
导出我们创建的store
备用。
然后进入到React UI部分。
在App.js
中:
import React from 'react';
import './App.css';
import CakeContainer from './components/CakeContainer';
import { Provider } from 'react-redux'
import store from './redux/store'
function App() {
return (
<Provider store={store}>
<div className="App">
<CakeContainer />
</div>
</Provider>
);
}
export default App;
主要有以下几个重点,首先是如何把store
用到项目中?答案是使用Provider
,并将store
作为Provider
的props
传入。

END.