遵循react native和redux的代码的含义是什么

时间:2019-02-08 10:32:32

标签: react-native redux middleware redux-thunk reducers

我指的是现有项目的代码,而我陷入无法理解代码目的的地步。

我目前已经开始使用redux,并且可以直接找到如下所示的包含中间件的代码。

const createStoreWithMiddleware = applyMiddleware(thunk)(createStore);
const reducer = combineReducers(reducers);
const store = createStoreWithMiddleware(reducer);

我没有得到这段代码在做什么。请帮助我了解这三行代码的作用。

2 个答案:

答案 0 :(得分:2)

const createStoreWithMiddleware = applyMiddleware(thunk)(createStore);

此行创建一个函数(createStoreWithMiddleware),该函数将使用参数列表并创建一个应用thunk中间件的存储对象。 Thunk可让您更轻松地处理副作用逻辑。

const reducer = combineReducers(reducers);

此行将您所有的单独减速器组合为一个完整的减速器。这意味着,每当分派操作时,该操作就会发送到项目中的所有reducer。

const store = createStoreWithMiddleware(reducer);

此行正在使用上一行的reducer创建您的商店,以便应用thunk中间件。

答案 1 :(得分:1)

applyMiddleware 函数只是使用自定义功能扩展redux的一种方法。在您的情况下,您使用的是 thunk ,这是一种通过调度功能将控制权转化为动作的方式。您还可以组合更多功能,记录器是一个有用的功能。

第二行 combineReducers ,您只是合并了在实现中定义的所有reducers。由于可以有多个状态,因此可以将状态存储在同一存储中。

您正在创建的第三行是结合了reducers和您先前定义的自定义功能的商店。

您可以在此处阅读有关applyMiddleware的更多信息: https://redux.js.org/api/applymiddleware