Reactjs 一个接一个地顶住
我使用useState在react native中有一个计数器递增。每当我按下一个按钮,计数都会增加一。它工作正常,但是当第一次按下时,计数器仍然为0。当第二次按下时,计数器增加1,并且继续平稳,没有问题。为什么在第一次新闻发布会上没有更新?以下是代码:Reactjs 一个接一个地顶住,reactjs,react-native,react-hooks,use-state,Reactjs,React Native,React Hooks,Use State,我使用useState在react native中有一个计数器递增。每当我按下一个按钮,计数都会增加一。它工作正常,但是当第一次按下时,计数器仍然为0。当第二次按下时,计数器增加1,并且继续平稳,没有问题。为什么在第一次新闻发布会上没有更新?以下是代码: import { StatusBar } from 'expo-status-bar'; import React, {useState } from 'react'; import { StyleSheet, Text, View, Butt
import { StatusBar } from 'expo-status-bar';
import React, {useState } from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
export default function App() {
const [count, setCount] = useState(0);
const [outputState, setOutputState] = useState(`You have tapped ${count} times`);
const getFinalResult = () => {
setCount(count => count + 1);
setOutputState(`You have tapped ${count} times`);
}
return (
<View style={styles.container}>
<Text>{outputState}</Text>
<Button title="change text" onPress={getFinalResult} />
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
从“世博会状态栏”导入{StatusBar};
从“React”导入React,{useState};
从“react native”导入{样式表、文本、视图、按钮};
导出默认函数App(){
const[count,setCount]=useState(0);
const[outputState,setOutputState]=useState(`您已经点击了${count}次');
常量getFinalResult=()=>{
setCount(count=>count+1);
setOutputState(`您已经点击了${count}次');
}
返回(
{outputState}
);
}
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“#fff”,
对齐项目:“居中”,
为内容辩护:“中心”,
},
});
此代码适用于您。您正在设置状态并同时显示。设置状态为异步任务,需要一些时间才能完成
import { StatusBar } from 'expo-status-bar';
import React, {useState } from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
export default function App() {
const [count, setCount] = useState(0);
return (
<View style={styles.container}>
<Text>You have tapped {count} times</Text>
<Button title="change text" onPress={() => setCount(count => count + 1)} />
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
从“世博会状态栏”导入{StatusBar};
从“React”导入React,{useState};
从“react native”导入{样式表、文本、视图、按钮};
导出默认函数App(){
const[count,setCount]=useState(0);
返回(
您已点击{count}次
setCount(count=>count+1)}/>
);
}
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“#fff”,
对齐项目:“居中”,
为内容辩护:“中心”,
},
});