如何从子组件中的props.match.params获取正确的值?

问题描述

在我的ReactJS应用中,我需要检查通过电子邮件收到的令牌。在路线中,我用:token参数定义了路径,并在子组件的道具中接受了它。

class App extends Component {
    //...
    render() {
        return (
            <Provider store={store}>
                <Router>
                    <Fragment>
                        //...
                        <main>
                            <div className="container">
                                <Switch>
                                    //...
                                    <Route path='/email-verify/:token' component={EmailVerify} />
                                </Switch>
                            </div>
                        </main>
                    </Fragment>
                </Router>
            </Provider >
        )
    }
}

然后在子组件中,我在动作创建器函数中传递了参数。但是useEffect函数输出到控制台token=xxx,而不是简单的值xxx

export function EmailVerify(props) {
      useEffect(() => {
            //emailVerify({ 'token': props.match.params.token });
            console.log(token) // 'token=xxx'
      },[])
      return <div>{props.match.params.token}</div>
}
export default connect(null,{ emailVerify })(EmailVerify);

可能是什么问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)