用于连接功能的React Redux mapStateToProps参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于连接功能的React Redux mapStateToProps参数相关的知识,希望对你有一定的参考价值。
是否有办法从redux connect函数中的已解析promise中返回普通对象?
const resolveStateFunction = (state) =>
return Promise.resolve(state);
const mapStateToProps = async (state)=>
const resolvedState = await resolveStateFunction(state);
return resolvedState;
const mapDispatchToProps = () =>
return apiResponse: apiResponse ;
;
export default connect(mapStateToProps, mapDispatchToProps)(SchoolTemp);
resolvedState
变量返回一个已解析的对象值,但随后出现错误,提示
Connect(SchoolTemp)中的mapStateToProps()必须返回纯文本宾语。而是收到了[object Promise]。
答案
mapStateToProps
应该返回普通对象,例如resolvedState: 'something'
。
这应该有所帮助:
const mapStateToProps = async (state)=>
const resolvedState = await resolveStateFunction(state);
return resolvedState;
然后您可以从组件中引用resolvedState
prop
另一答案
[mapStateToProps
函数应该是纯同步的
类似于Redux缩减器,mapStateToProps函数应始终为100%纯和同步。它应该简单地将state(和ownProps)作为参数,并返回组件需要作为道具的数据。这应该不用于触发异步行为,例如AJAX数据调用正在获取,并且不应将函数声明为异步。
以上是关于用于连接功能的React Redux mapStateToProps参数的主要内容,如果未能解决你的问题,请参考以下文章
将 React Hook 和 redux 一起用于 React 功能组件是不是不好?
使用 react-redux 连接功能时渲染组件上的打字稿错误
Jest/Enzyme 单元测试:如何将存储传递给使用 redux 4 和 react-redux 6 连接功能的浅层组件
将 React forwardRef 与 Redux 连接一起使用