Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在事件处理程序函数中使用自定义挂钩?_Reactjs_React Hooks - Fatal编程技术网

Reactjs 在事件处理程序函数中使用自定义挂钩?

Reactjs 在事件处理程序函数中使用自定义挂钩?,reactjs,react-hooks,Reactjs,React Hooks,我是使用React钩子的初学者(不过我已经使用React一段时间了), 我正在尝试在我的事件处理程序中使用一个自定义钩子 然而,我得到这个错误,说 React Hook "useMyCustomHook" is called in function "onSubmit" which is neither a React function component or a custom React Hook function react-hooks/rules-of-hooks 这是我的密码: i

我是使用React钩子的初学者(不过我已经使用React一段时间了), 我正在尝试在我的事件处理程序中使用一个自定义钩子

然而,我得到这个错误,说

React Hook "useMyCustomHook" is called in function "onSubmit" which is neither a React function component or a custom React Hook function  react-hooks/rules-of-hooks
这是我的密码:

import MyCustomHook from './myCustomHook';


const MyComponent= () => {
  const onSubmit = (e) => {
    e.preventDefault();

    const someData = {
      // data
    };
    useMyCustomHook(someData);
  };

  return (
      <form onSubmit={onSubmit}>
        <div className="form-control">
          // some form content
        </div>
      </form>
  )
}
从“/MyCustomHook”导入MyCustomHook;
常量MyComponent=()=>{
const onSubmit=(e)=>{
e、 预防默认值();
常数someData={
//资料
};
使用MyCustomHook(someData);
};
返回(
//某些形式的内容
)
}

我做错了什么?

回调中不应使用内置挂钩或自定义挂钩。这是钩子的规则之一。请阅读更多信息。

回调中不应使用内置挂钩或自定义挂钩。这是钩子的规则之一。请阅读更多有关它的信息。

来自it网站,上面写着:

不要从常规JavaScript函数调用钩子。相反,您可以:

  • ✅ 来自React函数组件的调用挂钩
  • ✅ 从定制钩子调用钩子(我们将在下一页了解它们)
这就是你做错了的地方。

从网站上看,它说:

不要从常规JavaScript函数调用钩子。相反,您可以:

  • ✅ 来自React函数组件的调用挂钩
  • ✅ 从定制钩子调用钩子(我们将在下一页了解它们)
这就是你做错的地方。

阅读