Реагировать на собственную ошибку маршрутизатора, неожиданный токен - PullRequest
0 голосов
/ 14 июля 2020
import { StatusBar } from "expo-status-bar";
import React from "react";
import { StyleSheet, Text, View } from "react-native";
import Login from "./components/Login";
import Home from "./components/Home";
import { NativeRouter, Switch, Route, Link } from "react-router-native";
im;
export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      user: {},
    };
  }
  componentDidMount() {
    this.authListener();
  }
  authListener() {
    fire.auth().onAuthStateChanged((user) => {
      if (user) {
        this.setState({ user });
      } else {
        this.setState({ user: null });
      }
    });
  }
  render() {
    return (
      <NativeRouter>
        <View style={styles.container}>
          <Switch>
            <Route exact path="/">
              {this.state.user ? <h1><Home/></h1> : <h1><Login/></h1>}
            </Route>
          </Switch>
        </View>
      </NativeRouter>
    );
  }
}

** В приведенном выше коде я использую аутентификацию firebase. И если пользователь вошел в систему, мне нужно, чтобы приложение было перенаправлено на компонент приложения, а приложение было перенаправлено в компонент входа. И я использую для маршрутизации пакет response-router-native as npm. Но я получаю сообщение об ошибке: "D: /csearch-client/csearch-client/node_modules/react-router-native/NativeRouter.js Ошибка синтаксического анализа модуля 11: 9: Неожиданный токен (11: 9). Вам может потребоваться соответствующий загрузчик для обработки этого типа файла, в настоящее время никакие загрузчики не настроены для обработки этого файла. См. https://webpack.js.org/concepts#loaders | * / | function NativeRouter (props) {

return ; | } | "**

1 Ответ

0 голосов
/ 14 июля 2020

Ciao, я думаю можно было бы сделать примерно так:

      import Login from 'path/to/Login';
      import Home from 'path/to/Home';
      ...
      <Switch>
        <NativeRouter exact path="/" component={this.state.user ? Home : Login}>
        </NativeRouter>
      </Switch>
         
...