微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 React Router Link 中使用 props 传递函数?

如何解决如何在 React Router Link 中使用 props 传递函数?

我必须使用 Link 将一个函数传递给另一个组件

    testFavorite=()=>{
        console.log("work")
    }

    <Link 
       to={{
       pathname: '/popular',state:{
            testFavorite: this.testFavorite
         }
       }}>
   Popular</Link>

这就是我调用函数的方式 this.props.location.state.testFavorite();

这是给我这个错误

DataCloneError:无法在“历史”上执行“pushState”:() => testFavorite() 无法克隆。

解决方法

<Link /> 组件中,我将“state”属性替换为“data”属性。现在可以使用了!

<Link 
    to={{
       pathname: '/popular',data:{
          testFavorite: this.testFavorite
       }
    }}
>
   Popular
</Link>

可以通过以下方式访问:this.props.history.location.data

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。