#reactjs #jsx #react-router-dom
#reactjs #jsx #реагировать-маршрутизатор-dom
Вопрос:
Мое сообщение об ошибке:
Line 31:16: Parsing error: Unterminated JSX contents
29 | </Route>
30 | </Switch>
> 31 | </Router>
| ^
32 | );
33 | }
34 | }
Мой код:
import React from 'react';
import { BrowserRouter as Router,
Switch,
Route,
Link
} from 'react-router-dom';
class App extends React.Component {
render() {
return (
<Router>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/login">Login</Link>
</li>
</ul>
</nav>
//<Switch for Router>
<Switch>
<Route path="/Login">
<Login />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</Router>
);
}
}
import Home from './pages/Home';
import Login from './pages/Login';
export default App;
Это говорит о том, что я что-то не завершал, но я этого не вижу. Я прошел строку за строкой примерно 20 раз. Может быть, мне просто нужна еще одна пара глаз, или, возможно, я что-то забыл. Любая обратная связь очень ценится!
Комментарии:
1. Я думаю, что JSX не знает такого типа комментариев к вашему коду. Удалить
//<Switch for Router>
Ответ №1:
//<Switch for Router>
Если вы находитесь в середине JSX, это не создает комментарий. Он отображает строку с двумя косыми чертами, за которой следует открытый тег для <Switch>
элемента, с реквизитами for
и Router
обоими true
Если вы хотите сохранить комментарий, измените его на:
{/*<Switch for Router>*/}