[英]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.