提问者:小点点

反应账户激活


我正试图找出如何让帐户激活链接做出反应。Rails API发送帐户激活URL,如下所示:

http://localhost:8080/users/confirm?token=480a476e6be366068dff

我想设置一个React操作,将令牌发布到API,然后组件将呈现一个“帐户激活”消息。

我目前被困在两个问题上:

>

如何从链接中捕获令牌?“/users/confirm/:token”是正确的方法吗?

routes.jsx:

export default (
  <Route history={browserHistory} path="/" component={App}>
    <IndexRoute component={HomePage} />
    <Route path="/users/login" component={LogInPage} />
    <Route path="/users/register" component={RegisterPage} />
    <Route path="/users/confirm/:token" component={ConfirmPage} />
  </Route>
);

共2个答案

匿名用户

无论您使用什么Web服务器来提供响应代码,都需要处理该路由。因此,如果您要渲染的html页面使用rails引导响应代码,请将路由添加到routes.rb,并让它渲染加载捆绑包的文件。

现在,为了使令牌成为如下参数:

<Route path="/users/confirm/:token" component={ConfirmPage} />

您需要以相同的方式将rails api直接连接到它:

http://localhost:8080/users/confirm/480a476e6be366068dff

如果您需要使用查询字符串,请在响应中更新路由:

<Route path="/users/confirm" component={ConfirmPage} />

然后在确认页面中,从查询字符串本身获取令牌。你可以用几种方法来做到这一点。我还没试过,但我相信react路由器能帮你解析。在ConfirmPage中,通过以下方式访问它:

this.props.location.query.token

匿名用户

路由器你有一个帐户吗?UI ReactJS

handleClickSignIn() {
        this.props.history.push("/Register");
    } 
    return(<div><p style={signstyle} > Don't have an account yet?
            < a href onClick={this.handleClickSignIn.bind(this)} >Join Register</a>
                                    </p></div>)