React Native-在功能组件中首次加载/渲染屏幕时,如何使用从 AsyncStorage 读取的值启动 TextInput?

Posted

技术标签:

【中文标题】React Native-在功能组件中首次加载/渲染屏幕时,如何使用从 AsyncStorage 读取的值启动 TextInput?【英文标题】:React Native-How do I start a TextInput with a value read from AsyncStorage when loading/rendering the screen first time in functional component? 【发布时间】:2021-09-09 15:47:39 【问题描述】:

我用 useEffect 钩子尝试了几种方法,但都没有成功。 而且我还没有在任何地方找到解决方案。 目的是读取保存在 AsyncStorage 中的电子邮件,并在加载登录屏幕时自动填充 TextInput(如默认值)。 有人可以帮忙吗?

【问题讨论】:

欢迎来到 SO。请发布您的一些尝试和结果。谢谢。 【参考方案1】:

我是这样用的: 我的处理方式:

const [value, setValue] = useState();
const demo = async () => 
try 
  const data = await AsyncStorage.getItem('_token');
  setValue(data);
 catch (e) 
  console.log(e);

;
useEffect(() => 
  demo();
, []);

显示部分:

<TextInput
    style=width: 100, height: 50, marginTop: 100, backgroundColor: 'red'
    value=value
    onChangeText=setValue
  />

【讨论】:

以上是关于React Native-在功能组件中首次加载/渲染屏幕时,如何使用从 AsyncStorage 读取的值启动 TextInput?的主要内容,如果未能解决你的问题,请参考以下文章

React Native 首次加载白屏优化

React Native this.setState() 仅在再次与组件交互后重新渲染

useEffect 清理功能在 React Native 中不起作用

HTML5 - 在 Android WebView 中首次加载时未呈现画布

PF QueryCollection ViewController 中首次加载时未出现图像

在Angular 5 App中首次加载App时背景视频不播放