reactjs - react typescript : useRef to Link

标签 reactjs typescript

如何将 useRef 与链接一起使用

import {Link} from 'react-router-dom';
const myLink = useRef<Link>(null);
...
myLink.current.click()
...

<Link to={{pathname: '/terms'}} id='myLink' ref={myLink} />

我得到的错误是 Property 'click' does not exist on type 'Link<any>'.ts(2339)

我目前正在使用下面的,但我想移动到 useRef

    const myLink = document.getElementById('myLink');
    if (myLink) myLink.click();

最佳答案

正如 typescript 错误所说,Link组件不能像anchor一样简单的点击。有两个建议的解决方案。

  1. 将链接更改为 <a href="...">并使用 HTMLAnchorElement输入 useRef .

  2. 或者如果您想继续使用 Link来自 react-router-dom 的组件, 您可以访问 props的链接组件。

if (myLink.current) {
    window.location.assign(myLink.current.props.to.toString()); // redirect to the to prop on Link component
}

关于reactjs - react typescript : useRef to Link,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57934143/

相关文章:

reactjs - 找不到模块错误 : Can't resolve 'history' in @types/history

javascript - 处理多个 api 响应中不同键的最佳方式

javascript - promise 拒绝不能正确传播错误

javascript - 提交后,b(array_name).map 不是函数 - ReactJS

javascript - 无法通过 ReactJS 中的 Prop 访问对象属性

javascript - 比较并返回lodash中的索引

Angular Material Angular 5 在代码中设置 Mat-Select 值

javascript - <UL> 列表项未添加到 React 中

javascript - React Native TextInput onSubmitEnding 不起作用 - 创建合成事件

javascript - Web Workers 可以访问 Vue 应用程序中定义的类吗?