打开反应原生屏幕时调用函数

新手上路,请多包涵

每次用户打开我的一个 react-native 屏幕(我正在使用 StackNavigator)时,我都会尝试从 AsyncStorage 加载 JSON。此 JSON 包含有关我的状态应设置为的信息。

如何调用每次打开此屏幕时运行的函数?

更多信息:我编写了一个函数,根据从 AsyncStorage 加载的 JSON 更新我的状态。当从按钮调用该函数时,该函数可以正常工作,但是当从 render() 调用该函数时,我的部分屏幕冻结并且某些按钮不再可触摸。奇怪的是只有 TextInput 仍然有效。

原文由 Filip Frahm 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 411
1 个回答

使用 componentWillMount() 方法。这将在 render() 方法被触发之前自动执行。

 class Sample extends Component{
    state = {data : []};
    componentWillMount(){
        this.setState({data : inputObject});
    }
    render(){
        return(
            <View>
            //you can render the data here
            </View>
        );
    }
}

从’react’导入{useEffect,useState};

 const Sample = () => {
    const [state, setState] = useState([]);
    useEffect(() => {
        setState(inputObject);
    }, [])

    return(
         <View>
         //you can render the data here
         </View>
    );

}

参考: https ://facebook.github.io/react/docs/react-component.html#componentwillmount

原文由 divine 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题