react native和redux的以下代码是啥意思

Posted

技术标签:

【中文标题】react native和redux的以下代码是啥意思【英文标题】:What is the meaning of following code of react native and reduxreact native和redux的以下代码是什么意思 【发布时间】:2019-07-02 13:58:12 【问题描述】:

我指的是现有项目的代码,我被困在我没有理解代码用途的地方。

我目前已经开始使用redux,直接找到如下代码,其中包含中间件。

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

我不明白这段代码在做什么。请帮助我理解这三行代码在做什么。

【问题讨论】:

【参考方案1】:

const createStoreWithMiddleware = applyMiddleware(thunk)(createStore);

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

const reducer = combineReducers(reducers);

这一行将所有单独的减速器组合成一个完整的减速器。这意味着无论何时调度一个动作,它都会被发送到您项目中的所有减速器。

const store = createStoreWithMiddleware(reducer);

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

【讨论】:

【参考方案2】:

applyMiddleware 函数只是使用自定义功能扩展 redux 的一种方式。在您的情况下,您正在使用 thunk 这是一种通过调度函数来反转对您的操作的控制的方法。您还可以组合更多的功能,logger 是一个很有用的。

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

第三行你只是创建了结合了减速器和你之前定义的自定义功能的商店。

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

【讨论】:

以上是关于react native和redux的以下代码是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

将firebase与redux-sagas连接的正确方法是啥?

react-native 中的 Redux 错误

将 Redux 添加到 React-Native 应用程序?

React native 和 redux 仍然无法正常工作

路由器状态没有通过 redux 保持在 react-native

将 React 应用程序转换为 React Native 的最快方法是啥?