Reactjs 这种良好做法是否将状态存储在变量中?
我刚开始学习ReactJS,有一些问题。我在阅读文档,但我找不到我要找的答案。以下是一个例子:Reactjs 这种良好做法是否将状态存储在变量中?,reactjs,Reactjs,我刚开始学习ReactJS,有一些问题。我在阅读文档,但我找不到我要找的答案。以下是一个例子: var Awesome = React.createClass({ getInitialState:function() { return { txt : ["1","2","3","4","5"], isTrue : true } }, handleClick:function() { this.setState({ isTr
var Awesome = React.createClass({
getInitialState:function() {
return {
txt : ["1","2","3","4","5"],
isTrue : true
}
},
handleClick:function() {
this.setState({
isTrue : !this.state.isTrue
})
},
render:function() {
var changeStyle = {
display: this.state.isTrue ? "block" : "none"
};
var message = this.state.txt.map(function(oneMessage) {
return <SubChild change={changeStyle} txt={oneMessage}/>
});
return (
<div>
<button onClick={this.handleClick} >Click Me</button>
{message}
</div>
)
}
})
var SubChild = React.createClass({
render:function() {
return (
<div style={this.props.change}>
<h3>{this.props.txt}</h3>
</div>
)
}
})
React.render(<Awesome />, document.body)
var Awesome=React.createClass({
getInitialState:函数(){
返回{
txt:[“1”、“2”、“3”、“4”、“5”],
伊斯特鲁:是的
}
},
handleClick:function(){
这是我的国家({
isTrue:!this.state.isTrue
})
},
render:function(){
变量changeStyle={
显示:this.state.isTrue?“块”:“无”
};
var message=this.state.txt.map(函数(oneMessage){
返回
});
返回(
点击我
{message}
)
}
})
var SubChild=React.createClass({
render:function(){
返回(
{this.props.txt}
)
}
})
React.render(为什么使用状态变量?
使用状态变量的想法是具有变化/动态数据,即如果组件的任何内容发生变化,则应将其定义为组件中的状态变量,以便用户交互可以导致该变量的变化,并且该变量的变化会导致受影响的组件重新渲染
属性的使用
如果组件的每个实例的某个值都发生了更改,并且没有受到用户交互或组件状态更改的影响,则应将其定义为属性,以便在实例化时只能分配一次
在所有情况下,我们都无法真正避免在渲染中使用变量实际上,我甚至看不到在变量中存储状态的行:)如果您是指渲染
方法中的变量,这是完全可以接受的做法,您不在此处存储状态,而是存储要渲染的组件的片段。它无疑提高了文档的可读性和可维护性code@beshanoe是的,我说的是渲染函数中的变量。谢谢你的解释。。好的,现在我对状态和道具的理解更清楚了。感谢您@arkoak并为您+1