Reactjs 如何使用非组件类对象强制组件更新?
我有一个React组件,其中一个非组件类对象处于其状态。现在,我正在使用React组件显示其他对象的一些字段。我还希望这样,每当非组件类对象中显示的字段发生更改时,react组件都会重新渲染以显示新更新的字段。我该怎么做Reactjs 如何使用非组件类对象强制组件更新?,reactjs,Reactjs,我有一个React组件,其中一个非组件类对象处于其状态。现在,我正在使用React组件显示其他对象的一些字段。我还希望这样,每当非组件类对象中显示的字段发生更改时,react组件都会重新渲染以显示新更新的字段。我该怎么做 class ReactComponentClass extends React.Component { constructor(props) { super(props); this.state = { myOb
class ReactComponentClass extends React.Component {
constructor(props) {
super(props);
this.state = {
myObj: new SimpleJSClass()
}
}
render() {
return (
<div>
<p>Value: {this.state.myObj.value}</p>
</div>
);
}
}
class SimpleJSClass {
constructor() {
this.value = 1
}
}
class ReactComponentClass扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
myObj:新的SimpleJSClass()
}
}
render(){
返回(
值:{this.state.myObj.Value}
);
}
}
类SimpleJSClass{
构造函数(){
该值为1
}
}
我听说过
这个.forceUpdate()
,但这是唯一的选择吗?如果可能的话,我只想更新值
,而不是所有内容。在React中,当组件的状态发生变化时,组件将重新加载。如果调用this.setState方法,React将注意到更改
可以使用新实例创建类变量
constructor(props) {
super(props);
this.simpleClassInstance = new SimpleJSClass();
this.state = {
myObj: this.simpleClassInstance
}
}
因此,当类内容升级时,使用它调用setState
this.setState({myObj: this.simpleClassInstance})
另一方面,我很少使用类来处理数据。我总是使用对象。改变状态被认为是有害的。因此,在数据更改时使用新对象调用setState是常见的解决方案