Reactjs 更新用户界面上更改的值
当按下按钮时,我想在屏幕上更改我的值。它会在幕后更改变量值,但对屏幕上显示的过时值没有影响Reactjs 更新用户界面上更改的值,reactjs,react-native,Reactjs,React Native,当按下按钮时,我想在屏幕上更改我的值。它会在幕后更改变量值,但对屏幕上显示的过时值没有影响 export default class App extends Component { render() { this.state = { myVariable: 'egs' } const changeValue = () => { this.state.myVariable = "CHANGED??!!" } return ( <View style={styles.cont
export default class App extends Component {
render() {
this.state = {
myVariable: 'egs'
}
const changeValue = () => {
this.state.myVariable = "CHANGED??!!"
}
return (
<View style={styles.container}>
<Text>
{this.state.myVariable}
</Text>
<Button onPress={changeValue} title="CHANGE IT"/>
</View>
);
}
}
导出默认类应用程序扩展组件{
render(){
此.state={
myVariable:'egs'
}
常量更改值=()=>{
this.state.myVariable=“已更改???”
}
返回(
{this.state.myVariable}
);
}
}
我希望将值更新为已更改的值,而不是过时的值
this.state.myVariable = "CHANGED??!!"
改为
this.setState({ myVariable: "CHANGED??!!" })
改为
this.setState({ myVariable: "CHANGED??!!" })
将状态初始化移到render和changeValue方法之外 您也不能直接变异雕像,而是使用setState() 这应该起作用:
export default class App extends Component {
state = {
myVariable: 'egs'
}
changeValue = () => {
this.setState({myVariable:"CHANGED??!!"})
}
render() {
return (
<View style={styles.container}>
<Text>
{this.state.myVariable}
</Text>
<Button onPress={changeValue} title="CHANGE IT"/>
</View>
);
}
}
导出默认类应用程序扩展组件{
状态={
myVariable:'egs'
}
changeValue=()=>{
this.setState({myVariable:“CHANGED???!!“})
}
render(){
返回(
{this.state.myVariable}
);
}
}
将状态初始化移到渲染以及changeValue方法之外
您也不能直接变异雕像,而是使用setState()
这应该起作用:
export default class App extends Component {
state = {
myVariable: 'egs'
}
changeValue = () => {
this.setState({myVariable:"CHANGED??!!"})
}
render() {
return (
<View style={styles.container}>
<Text>
{this.state.myVariable}
</Text>
<Button onPress={changeValue} title="CHANGE IT"/>
</View>
);
}
}
导出默认类应用程序扩展组件{
状态={
myVariable:'egs'
}
changeValue=()=>{
this.setState({myVariable:“CHANGED???!!“})
}
render(){
返回(
{this.state.myVariable}
);
}
}
刚刚尝试过,但仍然没有更改显示屏上的值。它也不会改变变量的值。只是尝试了一下,仍然不会改变显示器上的值。而且它不会改变变量的值。你是一个救生员。。。。我为此挣扎了几天。工作很有魅力,谢谢@HumanCode是的,状态初始化通常在上述组件或构造函数中完成。原因是当组件被实例化时,构造函数只被调用一次,而呈现函数在状态发生变化时被调用。另外,仅供参考,如果您在第一次呈现之前初始化了多个状态,请使用构造函数。在第一次呈现之后需要初始化的任何内容都应该在ComponentDidMount中完成。您是一个生命体储户我为此挣扎了几天。工作很有魅力,谢谢@HumanCode是的,状态初始化通常在上述组件或构造函数中完成。原因是当组件被实例化时,构造函数只被调用一次,而呈现函数在状态发生变化时被调用。另外,如果您在第一次呈现之前初始化的状态超过一个,请使用构造函数。在第一次呈现之后需要初始化的任何操作都应该在componentdidmount中完成