Я хочу использовать useContext() внутри функции componentDidMount(), потому что мне нужен раздел Id внутри него, но это выдало мне ошибку:
React Hook «useAppContext» не может быть вызван в компоненте класса. React Hooks должны вызываться в функциональном компоненте React или пользовательской функции React Hook?
class Invhom extends Component {
//...
componentDidMount(){
const {IdPartition,setIdPartition } = useAppContext(); // ... Error
let value = this.IdPartition;
// console.info(value);
axios.get('http://localhost:9091/inventaire/select_inventaire');
} }
//...
}
//------------------------------context.js----------------------------------------
export const AppContext = createContext(null);
export function useAppContext() {
return useContext(AppContext);
}
См. https://reactjs.org/docs/hooks-rules.html :
Only Call Hooks from React Functions
Вы не можете вызывать хуки из компонентов класса.
Как отмечено в Часто задаваемые вопросы, вам не нужно переписывать компоненты вашего класса. Однако рассмотрите возможность использования функциональных компонентов и хуков для нового кода.