使用标准 Javascript 函数自动响应 setState

React setState automatically with standard Javascript function

ReactJS 新手,让我们看看我正在使用的一些代码

<!-- language: lang-js -->
import Oak from './Oak'
class Space extends Component {
  componentWillMount () {  Newstate = Oak(oldState) }
  componentWillUpdate () { }

  render () {
    return()
  }
}

function mapStateToProps (state) { return {bigStateTree: state.bigTree } }
export default connect(mapStateToProps)(Space)
----------
//Oak.js
export default function Oak (inputState = null) {
 dosome 3D dance 
 return bigStateTree
}

在 ctrl 面板上使用 ReactJS 和 Redux (Space.js),在 canvas 上使用一些 3d (Oak.js)。
问题是:
我希望从 return 值中获取 Oak.js 中的数据,然后重新渲染(再次调用 Newstate = Oak(oldState) )状态中的 3d 基,它是当 3d 更改状态更改时的循环state change 3d变化,没有点击没有变化。

基于 Whosebug 的推荐

我现在不知道该怎么办。

首先在构造函数中你需要设置初始状态。您可以按如下方式执行此操作,其中 yourProperty 是您想要的键,defaultValue 是您选择的值:

this.state = { yourProperty: defaultValue }

然后在componentWillMount():

this.setState({ yourProperty: Oak(this.state.yourProperty) })

最后访问 render() 方法中的状态:

return (
    <div>{this.state.yourProperty}</div>
    );

唯一一次可以在不使用 setState 方法的情况下为 this.state 赋值是在构造函数中。另请注意,您不能在 render() 方法中更改状态。

阅读 React Component Lifecycle 会很有用。