我收到无效钩子调用的不变冲突。
钩子在函数组件内部被调用。
页面上一次只有一个版本的 React。
我不相信我Breaking
钩子的规则。
在下面的文件中调用useReducer时,应该违反了钩子调用。
import React, { createContext, useReducer } from 'react';
import { node } from 'prop-types';
import toggleReducer from '../../reducers/ToggleReducer';
import defaultToggles from '../../lib/config/toggles';
const ToggleContext = createContext();
const ToggleContextProvider = ({ children }) => {
const [toggleState, toggleDispatch] = useReducer(
toggleReducer,
defaultToggles,
);
return (
<ToggleContext.Provider value={{ toggleState, toggleDispatch }}>
{children}
</ToggleContext.Provider>
);
};
const ToggleContextConsumer = ToggleContext.Consumer;
ToggleContextProvider.propTypes = {
children: node.isRequired,
};
export { ToggleContext, ToggleContextProvider, ToggleContextConsumer };
编辑* 我仅在运行测试套件时收到此错误
错误是由我的一些测试引起的。