默认情况下不要渲染任何视图 - reactjs

时间:2015-07-16 19:35:07

标签: reactjs react-router

我有一个带有一些静态HTML的容器div。如果默认位置为/,我不希望我的反应路由器执行任何操作。它需要一个我没有的默认视图。有没有简单的解决方案。

我尝试了这个但是它不支持后退/前进浏览器按钮?

var initApp = function() { 
    Router.run(routes,  function(Handler) { 

        if(Router.HashLocation.getCurrentPath() !== '/') {
           React.render(<Handler/>, document.getElementById('top-container'));  
        }   
    });
}

1 个答案:

答案 0 :(得分:0)

似乎hacky建议 - 但你有没有试过传递一个模拟组件(不是从React.Component继承)和一个no-op render: function() {}?否则,我认为React会替换你的包装器的innerHTML。

另一方面 - 你在渲染服务器端吗?如果是这样,“/”的“哑”组件处理程序的输出打印出与容器当前持有的相同的标记,无论如何都会是静态HTML,尽管它是由React呈现的。