当前位置: 首页 > 知识库问答 >
问题:

Router不在URL中的react.js传递参数

董同
2023-03-14

嗨,我想从一个页面移动到另一个页面,并传递paramterssearchtype。如果URL中没有这些参数,我可以用react router实现这一点吗?

我正在使用 查看https://github.com/rackt/react-router/blob/master/docs/guides/overview.md#dynamic-segments和解决方案,但在将params传递给URL之前,它无法工作。

编辑1。路线:

<Route name="app" path="/" handler={App}>
    <Route name="realestates" handler={RealEstatesPage}/>
    <Route name="realestatesPrefiltered" path="realestatesPrefiltered/:search/:type" handler=RealEstatesPage}/>
    <Route name="realestate" handler={RealEstateDetails}/>
    <DefaultRoute handler={MainPage}/>
</Route>

共有1个答案

杜骏祥
2023-03-14

你提到的链接概述了两种不同的策略。首先,动态段只是参数化的URL,其中参数作为URL路径的一部分而不是在查询字符串中发送。所以这些需要公开可见。

第二,可以使用道具。这是在“幕后”传递信息的唯一受支持的选项。此外,它是React中的首选方法。问题是,这在哪里会发生?

一个选项是在顶层从router.run()内部传入值。上面的链接概述了这一点,每个嵌套处理程序都向下传递道具,或者显式地传递,比如 ,或者使用扩展属性,比如

<Route name="app" path="/" handler={App}>
    <Route name="realestates" handler={RealEstatesPage}/>
    <Route name="realestatesPrefiltered" handler={RealEstatePrefiltered}>
       <Route name="homes" handler={RealEstateHouseDetails}/>
       <Route name="apartments" handler={RealEstateHouseDetails}/>
       <Route name="land" handler={RealEstateLandDetails}/>
    </Route>
    <Route name="realestate" handler={RealEstateDetails}/>
    <DefaultRoute handler={MainPage}/>
</Route>
RealEstatePrefiltered = React.createClass({
    getInitialState: function () {
        return { search: '', type: '' }; // Update from store or event.
    },
    render: function() {
        return <div>
            <RouteHandler search={this.state.search} type={this.state.type} />
        </div>;
    }
});

剩下的唯一问题是,如何更改该组件上的状态?您可以为此使用一个流量存储,或者您可以设置一个全局事件并让该组件监视更改。

 类似资料:
  • 问题内容: 我试图弄清楚如何在URL中传递多个参数。我想将纬度和经度从我的android类传递给Java servlet。我怎样才能做到这一点? 在这种情况下,输出(写入文件)为。这是可行的,但我想在两个单独的参数中传递纬度和经度,以便减少在服务器端的工作。如果不可能,我如何至少在&之间添加一个空格,以便可以使用class获取经度和纬度。我试过以下行,但无济于事。 我的servlet代码如下: 我

  • //文章页面 //应用 //导航栏页面 **我试图使用变量“name”传递URL参数,但当我访问ArticlePage时,我得到404:Not Found(我的NotFound页面的内容)。我试图使用ArticlePage中的props(match)获取“name”变量的值,但无法呈现它。反应相当新,任何提示或解决方案都将不胜感激。我正在使用React v6**

  • 问题内容: 我正在尝试使用Struts2实现以下目标 这就是我在做什么: 为什么以上内容不能重定向为以下任何建议: 问题答案: 到目前为止,对我有用的解决方案是 在操作中定义味精的设置者和获取者的位置

  • 问题内容: 我正在尝试访问DetailsPage组件中的 ID ,但无法访问它。我试过了 将参数传递给DetailsPage,但徒劳。 所以有什么想法如何将ID传递给DetailsPage吗? 问题答案: 如果要将props传递到路线内的组件,最简单的方法是利用,如下所示: 您可以使用以下内容访问道具: 将需要通过原路线的道具,否则你将只能得到内。

  • 问题内容: 我使用AJAX进行了struts操作,一切都很好,但是Firefox出现了问题,当我将URL中的参数作为请求参数传递给该参数,并且如果该参数最后包含hash(#)符号,则firefox将剥离所有内容在该符号之后,将该参数发送给没有该参数的操作。 例如,如果我在Firefox中通过了test123#abcd,那么我在操作类中仅获得test123,而不是test123#abcd,这对我的要

  • 问题内容: 我正在用react-router进行反应。我正在尝试在react-router的“链接”中传递属性 “链接”呈现页面,但不将属性传递给新视图。下面是查看代码 如何使用“链接”传递数据? 问题答案: 此行缺失: 应该: 鉴于以下情况 (过时的v1) : 自v4起最新 : 并在组件中: 从您在文档上发布的链接,朝页面底部: 给定一条路线 使用一些存根查询示例更新了代码示例: 参见:http