Javascript 我试图在使用useffect()调用Fetch后自动导航到另一个屏幕,但获取对象是未定义的错误

Javascript 我试图在使用useffect()调用Fetch后自动导航到另一个屏幕,但获取对象是未定义的错误,javascript,reactjs,react-native,use-effect,use-state,Javascript,Reactjs,React Native,Use Effect,Use State,现在,我可以每3秒钟打一次电话,开始获取数据,我有一个按钮,按下后,我可以移动到最后一个屏幕并渲染数据,但当我尝试这样做时,我会自动得到未定义的错误 我尝试了很多方法将导航代码放在第一个.then()之后和.then()的内部,但似乎无法在数据来自获取调用后自动导航 我想摆脱按钮,并自动导航到下一个屏幕与数据,我从最后一个屏幕拉每3秒任何帮助将不胜感激 谢谢大家 const ExpressStore = props => { const [charector, setCharec

现在,我可以每3秒钟打一次电话,开始获取数据,我有一个按钮,按下后,我可以移动到最后一个屏幕并渲染数据,但当我尝试这样做时,我会自动得到未定义的错误

我尝试了很多方法将导航代码放在第一个
.then()
之后和
.then()
的内部,但似乎无法在数据来自
获取
调用后自动导航

我想摆脱按钮,并自动导航到下一个屏幕与数据,我从最后一个屏幕拉每3秒任何帮助将不胜感激

谢谢大家

const ExpressStore = props => {

    const [charector, setCharectorObject] = useState({status:'hello', message: '', user: {orders: []}});
    useEffect( () => {
        const interval = setInterval( () => getInfo().then( data => setCharectorObject(data) ), 3000);
       
        return () => {
            clearInterval(interval)
        }
        
    },[]);

async function getInfo() {
    const response = await fetch('server Call url',{
        method: "GET",
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${access_token}`
        }
    })
    const data = await response.json()
    //console.log(data)
    return data;


function onNextScreenClick(localChar) {
        Navigation.push(props.componentId, {
            component: {
                name: 'FinalScreen',
                options: {
                    topBar: {
                        title: {
                            text: 'FinalScreen'
                        }
                    }
                },
                passProps: {
                    hello: localChar
                }
            }
        });
    }

你想做什么?我知道你每3秒调用一次api。你能告诉我情况吗?所以我每3秒钟打一次电话,它会返回一个obj,我将它存储在我的状态中。然后,我有一个按钮,单击该按钮可导航到下一页,并从我所在的州呈现数据。我正在尝试自动导航到另一个屏幕,而无需按下按钮。所以基本上,一旦我得到数据,我想在几秒钟后自动转到下一个屏幕。基本上,我每3秒钟调用一次api,一旦它返回数据,我想导航到最终屏幕并在那里显示数据,而不必使用按钮。你想做什么?我知道你每3秒调用一次api。你能告诉我情况吗?所以我每3秒钟打一次电话,它会返回一个obj,我将它存储在我的状态中。然后,我有一个按钮,单击该按钮可导航到下一页,并从我所在的州呈现数据。我正在尝试自动导航到另一个屏幕,而无需按下按钮。所以基本上,一旦我得到数据,我想在几秒钟后自动转到下一个屏幕。基本上,我每3秒钟调用一次api,一旦它返回数据,我想导航到最终屏幕并在那里显示数据,而不必使用按钮。