【问题标题】:How to pass params from Route (react-router-dom) to render function如何从 Route (react-router-dom) 传递参数到渲染函数
【发布时间】:2019-03-10 03:13:39
【问题描述】:

可以这样做:

<Route exact path="/activate/:token" render={this.activateAccount} />

然后在同一个组件中

activateAccount(token) {
    console.log(token);
    return null;
}

如何传递token?

我的逻辑正确吗?稍微学习一下 MERN,我现在感到困惑的是如何在后端和前端之间移动,例如,当我生成激活帐户 URL 时,我有类似的东西

http://localhost:5006/api/activate/8d7f5b25befb70045b5cb36893fa0f7688b85504

现在我的 NodeJS/Express 在 5006 端口上运行,而我的 ReactJS 在 3006 上,不知道这里的逻辑是什么,在这种情况下我可以在我的 NodeJS 端完成所有事情,但不知道以后如何重定向到 /login/在前端。

谢谢!

【问题讨论】:

    标签: node.js reactjs react-router


    【解决方案1】:

    activateAccount 的参数不会是token

    <Route exact path="/activate/:token" render={this.activateAccount} />
    

    正如the reference 状态,Route render 函数接收route props

    所有三个渲染方法都将传递相同的三个路由道具

    • 匹配
    • 位置
    • 历史

    否则在路由组件中使用它们并非不可能。

    它是:

    activateAccount(props) {
        console.log(props.match.token);
        return null;
    }
    

    【讨论】:

    • 感谢您指出正确的方向!这工作得很好, activateAccount({ match }) { console.log(match.params.token);返回空值;}
    • 很高兴它有帮助。
    猜你喜欢
    • 2022-11-10
    • 1970-01-01
    • 2020-07-11
    • 2018-05-13
    • 1970-01-01
    • 2021-10-14
    • 2020-03-30
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多