react-router + history.pushState not working



我可以得到一些帮助正确设置历史库与react-router,文档某处说,我必须使用mixin使用历史从反应器,但其他地方告诉我,我必须导入历史库来完成任务。太混乱了

只有当你要修改react-router的默认设置时才需要导入历史库,而且只有在你设置路由器时才需要这样做。否则,您不需要。

无论如何,使用历史记录。pushState,你确实需要使用mixin。如果使用的是React Router 1.0.0-rc3,你可以这样做(一个简单的例子,但应该能让你明白这一点):

var React   = require('react');
var History = require('react-router').History;
var Link = React.createClass({
  mixins: [ History ],
  _handleClick: function(){
    this.history.pushState(null, "/example-route");  
  },
  render: function() {
    return (
      <div onClick={this._handleClick}>
        Link
      </div>
    );
  },
});
module.exports = Link;

最新更新