Reactjs 如何使用React Router 4进行跨平台(web和本机)URL路由?

Reactjs 如何使用React Router 4进行跨平台(web和本机)URL路由?,reactjs,react-native,react-router,react-router-v4,Reactjs,React Native,React Router,React Router V4,我正在开始一个项目,我希望主要是跨平台的 我在这里使用此react native starter模板: 我唯一努力工作的就是URL路由 在我的index.js中,我的应用程序组件如下: class App extends React.Component { render() { return ( <Provider store={store}> <Router> <Switch>

我正在开始一个项目,我希望主要是跨平台的

我在这里使用此react native starter模板:

我唯一努力工作的就是URL路由

在我的index.js中,我的应用程序组件如下:

class App extends React.Component {
render() {
    return (
        <Provider store={store}>
            <Router>
                <Switch>
                    <Route path='/about' component={AboutScreenComponent}/>
                    <Route exact path='/' component={TopLevelComponent}/>
                </Switch>
            </Router>
        </Provider>
    );
}
类应用程序扩展了React.Component{
render(){
返回(
);
}
然后我只想测试一个链接,所以我在About中添加了一个
链接,我的猜测是:

import React from 'react'
import { Platform } from 'react-native'

let Router
if (Platform.OS === 'web') {
  Router = require('react-router-dom').BrowserRouter
} else {
  Router = require('react-router-native').NativeRouter
}

我的感觉是,共享的跨平台组件应该主要是您的纯视图组件。应用程序的外层,如路由,应该使用最适合该平台的库,即react router for web,react navigation或类似的react navigation for native。也许将来我们可以有一个真正统一的代码库,但不需要w感觉技术还没有准备好…

根据我尝试此操作时webpack+babel的错误消息:“导入”和“导出”可能只出现在顶层”