在React中,我如何将用户重定向回状态已更改的索引

In React, How do I redirect a user back to the index with altered state

本文关键字:状态 索引 重定向 用户 React      更新时间:2023-09-26

在我的React.JS应用程序中,我想创建一个链接,它只会改变客户端的状态,但会显示主索引页。例如,主页面是:

http://example.com/#/

这显示了主索引页。现在,如果用户被引导到此页面:

http://example.com/#/check?arg=abcd

我仍然想向用户显示主索引页,但this.props变量会受到arg=abcd 的影响

我用定义我的路线

var routes = (
    <Route handler={APP}>
        <DefaultRoute handler={Index} />
        <Route name="check" path="check" handler={check}></Route>
    </Route>
);

因此,我确实有一条采用check路径的路径,但我的目标是只使用check的参数,并且仍然显示常规索引页面。

使用React.JS最有效的方法是什么?

我刚刚意识到我可以绕过第二个页面和路由器的需要。我所需要做的就是在索引页上使用一个参数处理程序。我不在工作岗位上,正在使用手机,所以明天我会在上班时回答自己的问题。

更新--这就是我的工作方式:

我在路线设置中添加了一条新线路:

var routes = (
    <Route handler={APP}>
        <DefaultRoute handler={Index} />
        <Route path="/arg1/:arg1" handler={Index} />
    </Route>
);

带有arg1的线路。然后我确保该路径的处理程序是{Index}。现在,在我的组件中,我有以下行:

componentWillMount() {
    this._handleArgs(this.props.params.arg1);
},

在安装组件之前,它将处理(或不处理arg1为空的情况)任何参数。

因此,无需添加新组件,只需添加到同一组件的另一个路由和一些辅助函数即可。