何时在 react 组件中将不可变数据转换为本机 JS



所以,我有一个接收props的组件,props是不可变的对象(通过mapStateToProps)。然后,我将它们作为道具发送到使用它们的子组件,并发送给它们的子组件。

像这样的东西,其中 Comp1 是连接的组件。

Comp1 ->

Comp2 -> Comp3...

我的问题是,在某些时候我需要使用 toJS() 来实际使用数据。我在哪里执行此操作?我应该对渲染函数中的所有数据进行 JS() 处理吗?我应该在 Comp1 中执行此操作并将本机 JS 对象作为 prop 发送吗?

此外,我使用了本教程

http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html#introducing-a-client-side-redux-store

正如 Dan Abramov 在 github 问题上对想知道相同问题的人所说,由您选择何时何地toJS()您的不可变对象。Redux对此不做任何假设。

也许你会得到一些更好的建议。

您阅读的教程确实是Redux/不可变/通用应用程序的出色演练。如果我没记错的话,作者从不处理普通对象,而是使用 ImmutableJS API 来更新应用程序状态。

就个人而言,我在选择器或容器中使用 toJS(),并在化简器中转换回不可变。

是您的个人选择。请记住,状态它必须始终是不可变的,并且很多时间更新不可变的东西比更新不可变的东西慢。

最新更新