在ReactNative和ReactJS应用程序中进行路由

时间:2018-01-13 16:43:58

标签: reactjs react-native react-router-v4

我想使用React和ReactNative以及React-Router开发应用程序。 请帮我在原生应用中组织路由,因为我是新手。

如果可以使用相同的文件在网络和本机中进行路由,那就太棒了。

这是为网络部分编写的代码段:

import React from 'react';
import ReactDOM from 'react-dom';
import {Provider} from 'react-redux';
import {Router} from 'react-router-dom';
import history from './utils/History';

import store from './store/configureStore';
import Root from './containers/Root';

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Root/>
    </Router>
  </Provider>,
  document.getElementById('root')
);

正如您所看到的,我为自己的应用使用自定义历史记录,这就是&#39; utils / History.js&#39;文件看起来:

import createBrowserHistory from 'history/createBrowserHistory';

export default createBrowserHistory();

所有在网络浏览器中都能很好地工作,但在iOS模拟器中却没有: enter image description here

1 个答案:

答案 0 :(得分:1)

根据 docs ,您需要从Router个包中导入react-router,而不是react-router-dom

import {Provider} from 'react-redux';
import {Router} from 'react-router';
import history from './utils/History';

import store from './store/configureStore';
import Root from './containers/Root';

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Root/>
    </Router>
  </Provider>,
  document.getElementById('root')
);