如何通过连接使用组件中的状态

时间:2018-12-30 12:45:59

标签: reactjs redux

我正在使用reactjs和redux来构建我的简单应用程序。我按照一些教程进行操作,但出现错误。

我的连接

const mapStateToProps = function(state) {
     console.log(state) // WHAT IS FORMAT? {....}
     return {
          messages: state.messages // i don't know state contain messsages key
     }
}

export default connect(mapStateToProps)(MyComponent);

和MyComponent

const MyComponent= ({messages}) => (
        <ul>
            {messages.map(message => (
                <Child
                    key={message.id}
                    {...message}
                />
            ))}
        </ul>
)

我通过以下方式创建商店

createStore(
        reducer, applyMiddleware(myMiddleware())
    );

但是我不知道state格式。它是某个键的对象吗?我在tut中找不到任何定义的state格式,并且出现错误

Uncaught TypeError: Cannot read property 'map' of undefined

如何理解和修复它。

1 个答案:

答案 0 :(得分:1)

提供给connect的state参数是一个包含当前redux状态的对象。您使用减速器创建的所有内容都将在此处提供。

有关更多信息,请参见https://redux.js.org/api/store#getState

在您的情况下,您可能尚未设置任何化简器,因此尚未填充邮件存储对象。如果您完成了本教程,它将引导您完成设置。