gpt4 book ai didi

javascript - 在 Redux/React 组件中改变 props 值的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-28 17:56:48 25 4
gpt4 key购买 nike

我有一个以字符串形式出现的数组(目前无法更改它)。我收到字符串,需要对字符串化数组执行 JSON.parse() ,以使其再次成为数组。我无法在 componentDidMount 函数中执行此操作,因为在 Redux 中拥有状态组件不是最佳实践。我可以在渲染函数中执行此操作,但就我而言,这并不是在那里改变值的最佳实践。

render() {
if (typeof this.props.detectedPersonListJson == 'string'){
var array= JSON.parse(this.props.detectedPersonListJson);
}
return (
<div>
array.map(...)
</div>

那么如何管理 Redux 展示组件中的 props 突变呢?谢谢!

最佳答案

如果您正在使用 redux,我假设您已经在使用 mapStateToProps 函数,您可以在那里解析它并使其可用于 React 组件

function mapStateToProps(state) {
var array;
if (typeof state.detectedPersonListJson == 'string'){
array= JSON.parse(state.detectedPersonListJson);
}
return {
detectedPersonListJson: array
}

}

否则,您可以将 prop 保存为状态变量,因为您需要在 componentWillReceivePropscomponentWillMount/componentDidMount 生命周期函数中解析和 setState,因为 componentWillMount 仅调用一次,此后每次渲染时都会调用 componentWillReceiveProps

关于javascript - 在 Redux/React 组件中改变 props 值的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44305591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com