使用react-router 1.0.0-rc1,express,web pack

时间:2015-09-27 22:33:30

标签: express reactjs webpack react-router

我很陌生,我很反应和表达,很抱歉新问题。

在react-router v013.3中,我使用了以下配置和" this.context.router.transitionTo(payload.route);"切换路线,它工作正常。

但是,在react-router v1.0.0-rc1中,我已经尝试了两个" this.props.history.pushState(null,payload.route);"以及" replaceState",但他们不会渲染我的路线。

我不能使用该类,因为我必须以编程方式切换路由。

这表示我在我的快速配置中添加了一些代码(请参见下文):https://github.com/rackt/react-router/blob/master/docs/guides/basics/Histories.md#createbrowserhistory

我还添加了' historyApiFallback:true'到我的webpack dev服务器配置。

虽然通过console.log消息我看到历史记录正在接收路由更改请求,但我请求的路由不会呈现。

任何人都能看到我失踪的东西吗?

感谢!!!

// react-router v013.3
const AppRoutes = (
    <Route path="/" handler={App}>
        <DefaultRoute handler={Home} />
        <Route name="myFieldMapping" handler={MyFieldMapping} />
        <Route name="myValidation" handler={MyValidation} />
    </Route>
);

Router.run(AppRoutes, Router.HashLocation, (Root) => {
    React.render(<Root />, document.getElementById('content'));
});


// react-router v1.0.0-rc1
const myHistory = useBasename(createHistory)({
    basename: '/myApp'
});

let unlisten = myHistory.listen(function (location) {
    console.log('---...---   CALL TO history: ', location.pathname)
});

React.render((
    <Router history={myHistory}>
        <Route path="/" component={App} >
            <IndexRoute component={Home} />
            <Route path="myFieldMapping" component={MyFieldMapping} />
            <Route path="myValidation" component={MyValidation} />
        </Route>
    </Router>
), document.getElementById('content'));


// express config
app.get('/myApp/*', function(request, response){
    response.sendFile(path.resolve(__dirname, publicPath, 'index.html'))
});

0 个答案:

没有答案