React Router 1.0 使用 router.transitionTo() 而不使用导航 mixin

2024-06-09

有没有更简单的方法来访问Router组件中的对象执行诸如调用之类的操作transitionTo()不使用导航混合?这是一个 ES6 组件。目前,在像按钮单击这样的事件上,我一直在写这样的内容:

class Button extends React.Component {
  handleClick(e) {
    e.preventDefault();
    var router = this._reactInternalInstance._context.router;
    router.transitionTo('/search');
  }

  render() {
    return (
      <button onClick={this.handleClick.bind(this)}>
        {this.props.children}
      </button>
    );
  }
}

Per 马特·格塞尔 https://stackoverflow.com/users/199296/mat-gessel的注释,在构造函数中添加上下文作为参数将使您能够访问路由器。

class Button extends React.Component {
  constructor(props, context) {
    super(props, context);
    this.context = context;      
  }

  handleClick(e) {
    e.preventDefault();
    this.context.router.transitionTo('/search');
  }

  render() {
    return (
      <button onClick={this.handleClick.bind(this)}>
        {this.props.children}
      </button>
    );
  }
}

Button.contextTypes = {
  router: React.PropTypes.object.isRequired
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Router 1.0 使用 router.transitionTo() 而不使用导航 mixin 的相关文章

随机推荐

  • vim 使用外部文件上的行号突出显示行

    我有两个文本文件 一个是我当前正在工作的文件 另一个包含行号列表 我想做的是突出显示第一个文件中行号与后一个文件匹配的行 E g File1 I like eggs I like meat I don t like eggplant My
  • C++ 中的错误分配异常

    在我的一个学校项目中 我被要求创建一个程序而不使用STL 在程序中我使用了很多 Pointer new Something if Pointer NULL throw AllocationError 我的问题是关于分配错误 有没有一个自动例
  • React DOM Router 不会重定向链接

    我正在尝试使用react dom router包在我的 React 应用程序中 但我没有被成功 重定向 到该组件 仅当我刷新页面或通过 URL 访问时它才起作用 这是我的App js import React Component from
  • 将 javascript 合并到 php 中的最佳方法?

    这就是我目前正在做的方式 除了回显之外 还有更好的方法吗 只需将 JavaScript 代码放在 PHP 标签之外即可 your javascript function out of the PHP tag function f alert
  • 如何将H264封装到mp4容器中?

    我有一个程序生成一堆原始 H264 帧 并希望将其放入 mp4 容器中进行流式传输 有人知道该怎么做吗 我想我会使用 ffmpeg 然而 这需要商业使用 而且 ffmpeg 似乎只能通过它的 x264 库来做到这一点 它使用 GPL 许可证
  • 如何调整Javafx未装饰阶段的大小?

    我是JavaFX技术的新手 目前我正在开发javafx应用程序 其中有未装饰的阶段 我能够使用下面的代码将其移动到屏幕上 但我是无法从右下角调整此窗口的大小 任何人都可以建议我解决方案 public void loadPanel final
  • MongoRuntimeError:连接池已关闭

    我看到我的猫鼬池在插入数据之前似乎已关闭 因为在调用云集群中的猫鼬数据库时出现此错误 MongoRuntimeError Connection pool closed 但我正在等待所有的电话 所以我不确定为什么会看到这个问题 也许这与我定义
  • 毒性测试,使用 setup.py extra_require 作为毒性 deps 源

    我想使用 setup py 作为安装测试包的权限 通过 extra requires 完成 如下所示 setup extras require test pytest Tox 似乎只能从requirements txt安装 https to
  • 如何在 iframe 中跟踪用户

    我想跟踪当用户单击 IFrame 中的链接时 iframe 内发生的情况 包含 iframe 父级 的页面用于跟踪用户在 iframe 中页面的导航 尽管子域有所不同 但这两个页面都将托管在同一顶级域上 我需要每次点击时通知父页面 但我无法
  • 使用进度条时出错:Max 必须是正整数

    每当我用 solr 重新索引 a 时 都会收到以下错误 RAILS ENV development rake sunspot solr reindex Error using progress bar Max must be a posit
  • 移动具有历史记录的目录

    我有一个这样的 SVN 结构 Projects Project1 Project2 someFolder Project3 Project4 我想将所有项目移动到 Projects 文件夹中 这意味着我想将项目 3 和 4 从 someFo
  • 发送 802.11 帧的“帧控制字段”数据的顺序?

    以下是 QoS 数据 FC 字段的位格式 00 01 0001 01000010 前2位代表版本 接下来2位代表类型 接下来4位代表子类型 其中ToDS 0 FromDS 1 保护位 1 那么 上述数据在空中是按照什么顺序通过接口发送的呢
  • 下拉选择字段是否容易受到任何类型注入的影响

    我在这里读到了 永远不要相信用户输入 这句话 这是有道理的 我可以理解用户输入的任何字段都是可疑的 但是 下拉选择字段怎么样 它们可以用于任何类型的注射吗 我已经清理了允许用户输入的所有字段 并且还使用 mysqli 准备好的语句插入数据库
  • 在 Xamarin.Forms 上的图像顶部叠加标签、列表和按钮

    我想制作一个页面 其中有一张图片 基本上页面上的其他所有内容都位于图像之上 与此类似的东西 XAML 代码如下
  • JavaFX - 如何从另一个控制器使用一个控制器中的方法?

    使用场景构建器 我有 2 个阶段 每个阶段都有一个控制器 stage1Controller stage2Controller Stage1控制器 public class Stage1Controller FXML private Menu
  • 如何在 nHibernate 中添加 NOLOCK?

    使用nhibernate时如何添加NOLOCK 条件查询 SetLockMode LockMode None http nhforge org doc nh en index html configuration optional dial
  • 使用 C# 学习单一职责原则

    我正在尝试学习单一职责原则 SRP 但这非常困难 因为我很难弄清楚何时 应该从一门课中删除什么以及应该将其放置 组织在哪里 我在谷歌上搜索了一些材料和代码示例 但我发现的大多数材料不但没有使其更容易理解 反而使其难以理解 例如 如果我有一个
  • 我将 MySQL 列设置为“NOT NULL”,但我仍然可以插入空值

    在 MySQL 中 我有一个 Column1 为 NOT NULL 的表 create table myTable Column1 int not null Column2 int not null 我仍然可以像这样插入一个空值 INSER
  • 带有一个处理程序的 WPF 切换按钮 Checked/Uchecked 事件

    我正在使用一个ToggleButton在 WPF 窗口中
  • React Router 1.0 使用 router.transitionTo() 而不使用导航 mixin

    有没有更简单的方法来访问Router组件中的对象执行诸如调用之类的操作transitionTo 不使用导航混合 这是一个 ES6 组件 目前 在像按钮单击这样的事件上 我一直在写这样的内容 class Button extends Reac