【发布时间】:2021-10-29 15:24:29
【问题描述】:
我是 React JS 的新手,对 TypeScript 不是 100% 熟悉。在我学习的过程中,我发现自己无法理解一个奇怪的“怪癖”。
我的代码如下,我的问题是“为什么我必须为 useNavigate 创建一个 const 然后在我的方法中调用它?
import { useNavigate } from 'react-router-dom';
...
const navigate = useNavigate();
const handleAskQuestionClick = () => {
navigate('ask');
};
...
我错过了什么,为什么不能这样?
const handleAskQuestionClick = () => {
useNavigate('ask');
};
【问题讨论】:
-
useNavigate正在返回您分配给navigate的函数。新函数不等于返回它的函数。 -
@DBS,谢谢你说得有道理。那么在我声明 const 'navigate' 之前,useNavigate 是否没有完全定义?奇怪的是只给出了一个函数名但没有签名并且没有定义任何参数,但 React 知道如何处理我的参数
标签: reactjs react-hooks react-router