Reactjs 创建依赖于状态的组件变量?最佳实践?

Reactjs 创建依赖于状态的组件变量?最佳实践?,reactjs,Reactjs,我有一个问题,我想知道是否有一个最好的做法 以下是一个示例组件: class Example extends Component { constructor(props) { super(props) this.state = { something: 'initial' } } getDataUnit() { return({ valueA: 'foo',

我有一个问题,我想知道是否有一个最好的做法

以下是一个示例组件:

class Example extends Component {
    constructor(props) {
        super(props)
        this.state = {
            something: 'initial'
        }
    }

    getDataUnit() {
      return({
        valueA: 'foo',
        valueB: this.state.something,
      })
    }

    exampleMethod() {
      const data = getDataUnit()
      exampleFunction(dataUnit)
    }

    render(){
      const data = getDataUnit()
      return(
         <div example={dataUnit}>
             Something
         </div>
      )
    }
}
类示例扩展组件{
建造师(道具){
超级(道具)
此.state={
“首字母”
}
}
getDataUnit(){
返回({
valueA:“foo”,
价值B:这个,州,什么,
})
}
示例方法(){
const data=getDataUnit()
示例函数(数据单元)
}
render(){
const data=getDataUnit()
返回(
某物
)
}
}
如您所见,我在组件中的多个位置使用了
dataUnit
,并且
dataUnit
也依赖于组件状态(因此我无法将其放入构造函数)。为了获取数据单元,我实现了一个函数,每次使用它时都会检索它。这似乎有点次优。是否有“更清洁”的解决方案或最佳实践


这可能微不足道,但我现在在多个项目中都遇到过这个问题。

您想实现什么?如果值的更改应反映在UI中,则应将其置于状态。可以创建单独的方法来将数据转换为各种格式。我只是遇到这样的情况:我在组件的许多位置使用相同的数据对象
dataUnit
,并且我试图找到一种方法,避免在每个方法中一次又一次地重构相同的对象
dataUnit
。我要构造的对象包含属于组件状态的值以及props和e。G来自上下文API的值。也许我问题中的功能已经是正确的方法了。我不知道。最终的数据单元对象会发生什么?如果使用整个对象作为结果,则可以将其存储在状态中。请记住,道具可能会改变,你必须自己更新状态,但你认为问题出在哪里?如果道具或状态发生更改,组件将重新呈现,使函数能够访问所有属性的当前值。好的,谢谢。另外,感谢您抽出时间查看!