3-1 this.text 不需要在state设置就可以直接使用吗?
来源:5-1 Popular(最热)模块的数据层设计
雪挽
2017-06-17
使用this.text为什么不需要在构造方法里(constructor)中this.state({
text:''
})
初始化。
在例子中直接this.text=text使用了
就是这一块显示结果的时候 使用变量用了:
this.state={ result:'' } } <Text style={{height:500}}>{this.state.result}</Text>
可设置变量text时
onChangeText={text=>this.text=text}
一个this.text就创建了一个text变量,并且在这一行使用
let url=this.genUrl(this.text);
为什么text没有初始化?为什么不需要在state里定义?直接this.text就可以了?
写回答
1回答
-
state是react的状态机,this.text是组件的变量,state中的变量需要初始化才能使用,this.text在用到的时候初始化也是可以的。
当变量的改变需要立即渲染界面或触发某个动作时需要用到state,如果只是单纯的存储变量用this.text的方式就可以了。
012017-06-19
相似问题