faf*_*iba 2 debugging reactjs react-router react-router-v4 react-router-dom
我安装了react-router-dom4.1.1并在尝试渲染我的组件时继续收到以下错误:
未捕获错误:
React.Children.only预计会收到一个React元素子级.
这是我的app.js档案:
import React from 'react';
import {BrowserRouter as Router, Route} from 'react-router-dom';
import Nav from './components/Nav/nav';
import Search from './components/Search/search';
import Favorites from './components/Favorites/favorites';
const App = () => (
<Router>
<div className="app">
<Nav />
<Route exact path="/" component={Search}/>
<Route path="/favorites" component={Favorites}/>
</div>
</Router>
);
export default App;
Run Code Online (Sandbox Code Playgroud)
这是nav.jsx:
import React from 'react';
import {BrowserRouter as NavLink} from 'react-router-dom';
const Nav = () => (
<ul className="nav">
<li><NavLink exact to="/" activeClassname="active">Search</NavLink></li>
<li><NavLink to="/favorites" activeClassname="active">Favorites</NavLink></li>
</ul>
);
export default Nav;
Run Code Online (Sandbox Code Playgroud)
当我<Nav />从中删除app.js渲染,但我没有看到该nav.jsx文件有什么问题.
出于某些奇怪的原因,你出现了别名BrowserRouter,NavLink而不仅仅是导入NavLink:
import { BrowserRouter as NavLink } from 'react-router-dom';
Run Code Online (Sandbox Code Playgroud)
摆脱它并直接导入为名称:
import { NavLink } from 'react-router-dom';
Run Code Online (Sandbox Code Playgroud)
因为BrowserRouter期望一个React元素子而不是文本,所以抛出错误.
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |