为什么我无法路由我的应用程序?反应 - 反应路由器 - redux-router
Why am I not able to route my app? react - react-router - redux-router
我有一个简单的 redux/react
应用程序,我只能路由到根目录 /
。我正在使用 react 0.14
、redux 3.0.2
、react-router 1.0.0-rc-3
和 redux-router1.0.0-rx-3
。这是我的应用程序:
import React from 'react';
import ReactDOM from 'react-dom';
import { Route} from 'react-router';
import { Provider } from 'react-redux';
import { ReduxRouter } from 'redux-router';
import store from './store/lcrf.store.js';
import App from './containers/App';
import Test from './containers/Test';
ReactDOM.render((
<Provider store={store}>
<ReduxRouter>
<Route path="/" component={App}>
<Route path="test" component={Test} />
</Route>
</ReduxRouter>
</Provider>
), document.getElementById('app'));
这是我的 App
组件:
class App extends Component {
render() {
return (
<div>
<h1>App Component</h1>
{this.props.children}
</div>
)
}
}
我的 Test
组件是同样的东西,没有 this.props.children
。
class Test extends Component {
render() {
return (
<div>
<h1>Test</h1>
</div>
)
}
}
export default Test;
我从 express
服务器为 index.html
提供服务。这是该文件:
var express = require('express');
var app = express();
var port = 3333;
app.use(express.static('public'));
app.listen(port, error => {
if(error) {
console.error(error);
} else {
console.info(`Server is listening on port ${port}`);
}
})
我的 index.html
在我的 public
目录中。
当我转到 /
时,我看到了我的 App
组件,但我无法路由到我的 Test
组件。我试过 /test
和 #/test
,但没有用。我配置错了什么?
express
没有处理我的 pushState
。我不知道最优雅的方法,但是当我添加时:
app.get('*', function(request, response){
response.sendfile('./public/index.html');
});
到我的服务器,然后一切开始正常工作。我很想听听正确的管理方法。
我有一个简单的 redux/react
应用程序,我只能路由到根目录 /
。我正在使用 react 0.14
、redux 3.0.2
、react-router 1.0.0-rc-3
和 redux-router1.0.0-rx-3
。这是我的应用程序:
import React from 'react';
import ReactDOM from 'react-dom';
import { Route} from 'react-router';
import { Provider } from 'react-redux';
import { ReduxRouter } from 'redux-router';
import store from './store/lcrf.store.js';
import App from './containers/App';
import Test from './containers/Test';
ReactDOM.render((
<Provider store={store}>
<ReduxRouter>
<Route path="/" component={App}>
<Route path="test" component={Test} />
</Route>
</ReduxRouter>
</Provider>
), document.getElementById('app'));
这是我的 App
组件:
class App extends Component {
render() {
return (
<div>
<h1>App Component</h1>
{this.props.children}
</div>
)
}
}
我的 Test
组件是同样的东西,没有 this.props.children
。
class Test extends Component {
render() {
return (
<div>
<h1>Test</h1>
</div>
)
}
}
export default Test;
我从 express
服务器为 index.html
提供服务。这是该文件:
var express = require('express');
var app = express();
var port = 3333;
app.use(express.static('public'));
app.listen(port, error => {
if(error) {
console.error(error);
} else {
console.info(`Server is listening on port ${port}`);
}
})
我的 index.html
在我的 public
目录中。
当我转到 /
时,我看到了我的 App
组件,但我无法路由到我的 Test
组件。我试过 /test
和 #/test
,但没有用。我配置错了什么?
express
没有处理我的 pushState
。我不知道最优雅的方法,但是当我添加时:
app.get('*', function(request, response){
response.sendfile('./public/index.html');
});
到我的服务器,然后一切开始正常工作。我很想听听正确的管理方法。