как мне сделать эквивалент файла history.replace ('/ home') с native-router? - PullRequest
0 голосов
/ 01 февраля 2019

В настоящее время мой код получает:

[12:35:59] Warning: <MemoryRouter> ignores the history prop. To use a 
custom history, use `import { Router }` instead of `import { 
MemoryRouter as Router }`.

это на самом деле NativeRouter, а не MemoryRouter.

Я думал, что настроил свой проект для работы как на реактивных, так и на собственных-web:

import createBrowserHistory from 'history/createBrowserHistory'
import createMemoryHistory from 'history/createMemoryHistory'
import { Platform } from 'react-native'

const customHistory = (() => {
    switch (Platform.OS) {
    case 'web':
        return createBrowserHistory()
    case 'ios':
        return createMemoryHistory()
    default:
        console.error(`No such platform configuration ${Platform.OS}`)
    }
})()

export default customHistory

Затем я называю это как

import history from '@src/lib/history'
//...
history.replace('/')

, и оно монтируется как:

routing.native.js

export { NativeRouter as Router, Switch, Route, Link, withRouter } from 'react-router-native'

App.js

return (
  <ApolloProvider client={this.state.apolloClient}>
  <PaperProvider>
    <View style={styles.app}>
      <Router history={history}>

Это прекрасно работает в реактивно-нативной сети ... но в реактивно-нативной, по-видимому, есть лучший способ?

...