小编Edw*_*Sun的帖子

React 自定义钩子吐出错误“错误:应该有一个队列。这可能是 React 中的错误。请提交问题”

我有一个反应组件,需要从组件内使用自定义的反应挂钩。

但是,只有在启用功能切换时才应调用此挂钩。我知道这是一种反模式,因为它违反了这里的钩子规则: https: //reactjs.org/docs/hooks-rules.html

所以我的组件文件大致是这样的结构:

    const someFeatureToggle = useSomeFeatureToggleHook(React);
    const callBackMethod = ()=>{
        // doing the logic
     }
    const someRef1 = React.useRef();
    const someOtherRef = React.useRef();
    ...
    There are lots of useState( ) here

    return (
        JSX
      )

Run Code Online (Sandbox Code Playgroud)

对于定制的钩子:

export default function myCustomizedHook(topics, messagesReceivedFn, subscriptionOptions = {}) {
  if (!isValidTopics(topics)) {
    throw new Error(`Topics arg is invalid - Arg ${JSON.stringify(topics)}`);
  }
  const [someSubTopics] = useState([topics].flat());

  const context = useContext(SomeEventContext);
  if (isUndefined(context)) {
    throw new Error(`${customizedHook.name} must be used within SomeProvider`); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks react-state

1
推荐指数
1
解决办法
3781
查看次数

标签 统计

javascript ×1

react-hooks ×1

react-state ×1

reactjs ×1