我有一个带有一些静态HTML的容器div
。如果默认位置为/
,我不希望我的反应路由器执行任何操作。它需要一个我没有的默认视图。有没有简单的解决方案。
我尝试了这个但是它不支持后退/前进浏览器按钮?
var initApp = function() {
Router.run(routes, function(Handler) {
if(Router.HashLocation.getCurrentPath() !== '/') {
React.render(<Handler/>, document.getElementById('top-container'));
}
});
}
答案 0 :(得分:0)
似乎hacky建议 - 但你有没有试过传递一个模拟组件(不是从React.Component继承)和一个no-op render: function() {}
?否则,我认为React会替换你的包装器的innerHTML。
另一方面 - 你在渲染服务器端吗?如果是这样,“/”的“哑”组件处理程序的输出打印出与容器当前持有的相同的标记,无论如何都会是静态HTML,尽管它是由React呈现的。