Reactjs 如何使用非组件类对象强制组件更新?

Reactjs 如何使用非组件类对象强制组件更新?,reactjs,Reactjs,我有一个React组件,其中一个非组件类对象处于其状态。现在,我正在使用React组件显示其他对象的一些字段。我还希望这样,每当非组件类对象中显示的字段发生更改时,react组件都会重新渲染以显示新更新的字段。我该怎么做 class ReactComponentClass extends React.Component { constructor(props) { super(props); this.state = { myOb

我有一个React组件,其中一个非组件类对象处于其状态。现在,我正在使用React组件显示其他对象的一些字段。我还希望这样,每当非组件类对象中显示的字段发生更改时,react组件都会重新渲染以显示新更新的字段。我该怎么做

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是常见的解决方案