Reactjs 反应本机无效钩子调用

Reactjs 反应本机无效钩子调用,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我使用Redux和Redux传奇来进行创作。我想测试它,如果我点击我的按钮(auth按钮),那么它应该重定向到主页。但我得到了这个错误: 无效的钩子调用 为什么? 在我添加use Navigation和Navigation之前,此代码运行良好。navigate挂钩只能在功能组件内部使用 如何操作,我将在reducer中更新为auth:true,然后在auth为true时从屏幕导航 import { all, take, call, put, fork } from 'redux-saga/eff

我使用Redux和Redux传奇来进行创作。我想测试它,如果我点击我的按钮(auth按钮),那么它应该重定向到主页。但我得到了这个错误:

无效的钩子调用

为什么?


在我添加use Navigation和Navigation之前,此代码运行良好。navigate

挂钩只能在功能组件内部使用

如何操作,我将在reducer中更新为auth:true,然后在auth为true时从屏幕导航

import { all, take, call, put, fork } from 'redux-saga/effects';
import { authProccess, authFailure, authSuccess } from '../slice/auth';
import authApi from '../../../api/auth';
import { useNavigation } from '@react-navigation/native';

function* register(payload) {
  try {
    const navigation = useNavigation();
    const res = yield authApi(payload).then(res => res).catch(e => e);
    yield navigation.navigate('Home');
  } catch(e) {
    console.log(e);
  }
}

function* watcher() {
  while(true) {
    const { payload } = yield take(authProccess.type);
    yield fork(register, payload);
  }
}

export default function* () {
  yield all([watcher()]);
}