“this.props”和“this.state”的功能是什么?

时间:2015-12-16 09:03:58

标签: reactjs

React docs声称private async Task InitializeUi() { // If we have a phone contract, hide the status bar if (ApiInformation.IsApiContractPresent("Windows.Phone.PhoneContract", 1, 0)) { var statusBar = StatusBar.GetForCurrentView(); await statusBar.HideAsync(); } } 方法是render()this.propsenter image description here)的函数:

  

this.state方法以声明方式编写为render()this.props的函数。该框架保证UI始终与输入保持一致。

这是什么意思? this.statethis.props是确定的对象,而不是函数:

this.state

那么如何理解?

4 个答案:

答案 0 :(得分:2)

意思是,概念Activityrender()this.props的函数。以这种方式考虑,this.statethis.props相同this.state render()的结果应始终相同。

它不像render(props, state)那样写,但从概念上讲,这是人们应该想到的一个组件!

答案 1 :(得分:1)

这就是我所理解的(我只是以功能的形式写下了句子,从概念上理解它)

方法this.render() =函数(this.propsthis.state) 其中this.propsthis.state是对象。

这意味着render()方法取决于this.propsthis.state。无论何时,任何这些更改,都会调用render()方法并重新呈现该组件。

但是,如果我们希望手动调用render()方法,当某些数据在状态或props对象深处发生变化而不更改对象本身时,我们可以通过调用forceUpdate()来实现。这里render()方法在概念上成为调用forceUpdate()以及this.propsthis.state的方法的函数。

答案 2 :(得分:0)

来自Component Specs

  

调用[render is]时,应该检查this.props和this.state并返回一个   单个孩子元素。

如果function render(props, state)放在组件之外,它将如下所示:

props

由于staterender()需要全部lcov呈现。

答案 3 :(得分:0)

:?我浏览了链接页面,没有直接或其他方式遇到此声明。但是,该语句只是意味着该方法读取props和state以便给出一个元素。