Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 一个接一个地顶住_Reactjs_React Native_React Hooks_Use State - Fatal编程技术网

Reactjs 一个接一个地顶住

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

我使用useState在react native中有一个计数器递增。每当我按下一个按钮,计数都会增加一。它工作正常,但是当第一次按下时,计数器仍然为0。当第二次按下时,计数器增加1,并且继续平稳,没有问题。为什么在第一次新闻发布会上没有更新?以下是代码:

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”,
对齐项目:“居中”,
为内容辩护:“中心”,
},
});