对于我的客户端,我创建了一些类似测验web应用程序的应用程序,它基于带有巨大非常独特数据的websockets(socket.io)的redux。没有用户交互,只是表示层。它的工作原理是这样的:我通过url获取websocket事件给我的布局和有效载荷数据,然后渲染给定的url和fire redux动作,并将数据作为参数,这变成了应用程序的状态。就那么简单。 但是我注意到,在第一次呈现初始状态是加载,而不是从websocket作为参数给予行动。正如我所说的数据我得到的是巨大的,独特的,所以我不想在减速是这样的声明:React Redux - 在第一次渲染时未定义的状态
pageData: {
assets: [],
questions: [],
details: []
等。它更复杂顺便说一句,这只是一个例子。
取而代之的是我做了这样的事情:
pageData: {}
而且我希望,在视图(使用连接)我能得到这个数据是这样的:
this.props.view.pageData.questions
但后来事实证明,我无法得到这个,因为它在第一次渲染时未定义。所以我的问题是:
- 是否有访问这个数据的第一渲染,而不 宣布整体结构的方法吗?
如果不是,我应该重建reducer中的给定数据吗?
- 我应该再创建减速的每一页(有喜欢过20次 具有独特的数据)
当然,我可以宣布在减速的一切,但我觉得这是非常难保持这么多数据。
但是你知道,也许我太懒惰了,我应该为每个页面声明初始状态,这个问题没有意义;)。
您可以为您的redux商店指定一个initialState。 –