小编ANe*_*wmy的帖子

将组件连接到 redux 全局状态与在 React-Native 中将 props 传递给子组件

我无法理解何时应该将 props 传递给子组件而不是直接将这些组件连接到状态。

我的项目中的组件有两种接收 props 的方式:

1)将组件(子组件或父组件)连接到 redux 的全局状态。这允许我指定我的组件将接收全局状态的哪些部分,但当 prop 更改时将重新渲染。

const mapStateToProps = state => ({
    error: state.error,
    progress: state.scan.progress,
    latitude: parseFloat(state.enrollment.latitude),
    longitude: parseFloat(state.enrollment.longitude),
});

export default connect(mapStateToProps)(MapViewHome);
Run Code Online (Sandbox Code Playgroud)

2)以典型的 React-Native 方式将 props 传递给子组件。

<MapViewHome error={this.props.error} progress={this.props.progress} latitude={this.props.latitude} longitude={this.props.longitude} /> 
Run Code Online (Sandbox Code Playgroud)

我之所以问这个问题是因为我有parent component A与国家有关的信息。

Parent component Ax直接将 prop 传递给,child B将相同的 prop 传递xchild C

如果 propx发生变化,这将导致组件 A、B 和 C 重新渲染。我可以通过直接连接到状态来避免组件 A 和 B 的重新渲染child C,因此它是唯一受 prop 更改影响的组件。

但是像这样将小型子组件连接到全局状态是一种好的做法吗?为什么不将每个组件连接到状态呢?

javascript reactjs react-native redux react-redux

5
推荐指数
1
解决办法
2372
查看次数

标签 统计

javascript ×1

react-native ×1

react-redux ×1

reactjs ×1

redux ×1