简体   繁体   English

React native:渲染后使用效果显示

[英]React native : useEffect display after render

I have this React Native code我有这个 React Native 代码

    const showMessage = () => {
      const [message,setMessage] = useState('default message');
      useEffect(()=> {
        setMessage('new message')
      }, []);

      return (
        <View>
          <Text>
            {message}
          </Text>
        </View>
      );
    }
    export default showMessage;

I know that useEffect runs after render, so does this mean that the app shows the 'default message' even for a micro-second (so if I record a video of the phone screen and make it mega slow (x100 slower I will be able to see 'default message') and then shows 'new message', or it directly shows 'new message'?我知道useEffect在渲染之后运行,所以这是否意味着该应用程序会显示“默认消息”甚至一微秒(因此,如果我录制手机屏幕的视频并使其速度变慢(慢 100 倍,我将能够看到'默认消息')然后显示'新消息',还是直接显示'新消息'?

Yes, Default message will show.是的,将显示默认消息。

To prevent that you should check message state and return empty view.为防止您应该检查消息 state 并返回空视图。

If i was you i use null as a initial state如果我是你,我使用 null 作为初始值 state

And

message === null && View消息=== null && 查看

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM