Reactjs 上下文提供程序中的内部导航功能如何反应

Reactjs 上下文提供程序中的内部导航功能如何反应,reactjs,react-native,Reactjs,React Native,我尝试使用上下文Api并处理函数内的导航。 我有: SignupContext.js: export const SignupProvider = ({ children }) => { const signup = async (username, email) => { const response = await api.post('/signup', {name, email}); // How here do navigatio

我尝试使用上下文Api并处理函数内的导航。 我有:

SignupContext.js:

export const SignupProvider = ({ children }) => {

    const signup = async (username, email) => {
         const response = await api.post('/signup', {name, email});
         // How here do navigation.navigate('Main') ?
    }
}
<Button 
    title="Sign Up" 
    onSubmit={()=>signup(name, email)} 
/>

SignupScreen.js:

export const SignupProvider = ({ children }) => {

    const signup = async (username, email) => {
         const response = await api.post('/signup', {name, email});
         // How here do navigation.navigate('Main') ?
    }
}
<Button 
    title="Sign Up" 
    onSubmit={()=>signup(name, email)} 
/>


如何使用SignupContext.js中的上下文提供程序

有效解决方案:

export const SignupProvider = ({ children }) => {

    const signup = async (username, email) => {
         const response = await api.post('/signup', {name, email});
         // How here do navigation.navigate('Main') ?
    }
}
<Button 
    title="Sign Up" 
    onSubmit={()=>signup(name, email)} 
/>

  • 创建一个文件navRef.js
  • 导入文件并添加导航
  • 从“../navRef”导入{navigate};//{
    const signup=async(用户名、电子邮件)=>{
    const response=wait api.post('/signup',{name,email});
    
    导航('Main')/有效解决方案:

    export const SignupProvider = ({ children }) => {
    
        const signup = async (username, email) => {
             const response = await api.post('/signup', {name, email});
             // How here do navigation.navigate('Main') ?
        }
    }
    
    <Button 
        title="Sign Up" 
        onSubmit={()=>signup(name, email)} 
    />
    
    
  • 创建一个文件navRef.js
  • 导入文件并添加导航
  • 从“../navRef”导入{navigate};//{
    const signup=async(用户名、电子邮件)=>{
    const response=wait api.post('/signup',{name,email});
    
    导航('Main')//请按照此说明操作请按照此说明操作