简体   繁体   English

React.Children.only希望在React Router v4中收到一个React元素子元素

[英]React.Children.only expected to receive a single React element child in React Router v4

I installed react-router-dom 4.1.1 and keep receiving the following error when trying to render my components: 我安装了react-router-dom 4.1.1并在尝试渲染我的组件时继续收到以下错误:

Uncaught Error: React.Children.only expected to receive a single React element child. 未捕获的错误: React.Children.only预计会收到一个React元素子元素。

Here's my app.js file: 这是我的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;

And here is nav.jsx : 这是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;

When I remove <Nav /> from app.js it renders, but I don't see what's wrong with the nav.jsx file. 当我从app.js删除<Nav />时它会渲染,但我看不出nav.jsx文件有什么问题。

You're, for some odd reason, aliasing BrowserRouter as NavLink instead of just importing NavLink : 出于某些奇怪的原因,您将BrowserRouter混淆为NavLink而不是仅导入NavLink

import { BrowserRouter as NavLink } from 'react-router-dom';

Get rid of that and import directly as a name: 摆脱它并直接导入为名称:

import { NavLink } from 'react-router-dom';

Because BrowserRouter expects one React element child, not text, the error is thrown. 因为BrowserRouter期望一个React元素而不是文本,所以会抛出错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 React Router v4 - 错误:React.Children.only预计会收到一个React元素子元素 - React Router v4 - Error: React.Children.only expected to receive a single React element child React.Children.only只希望收到一个React元素chil - React.Children.only expected to receive a single React element chil ReactQuill(富文本) - 错误:React.Children.only 期望接收单个 React 元素子元素 - React - ReactQuill (rich text) - Error: React.Children.only expected to receive a single React element child - React React-google-maps信息窗口`React.Children.only仅预期接收单个React元素的子级。 - React-google-maps infowindow `React.Children.only expected to receive a single React element child.` 未捕获的不变违规:React.Children.only 预计会在 React Bootstrap 中收到单个 React 元素子错误? - Uncaught Invariant Violation: React.Children.only expected to receive a single React element child error in React Bootstrap? React bootstrap Tooltip抛出错误&#39;React.Children.only预计会收到一个React元素子元素。 - React bootstrap Tooltip throws error 'React.Children.only expected to receive a single React element child.' React.children.only期望收到一个react元素子Navigator - React.children.only expected to receive a single react element child Navigator 错误:React.Children.only 期望接收单个 React 元素子元素。 福米克 - Error: React.Children.only expected to receive a single React element child. Formik 错误:React.Children.only 期望接收单个 React 元素子元素 - Error: React.Children.only expected to receive a single React element child rc 工具提示组件的 Storybook 错误:React.Children.only 预计会收到单个 React 元素子项 - Storybook error with rc tooltip component: React.Children.only expected to receive a single React element child
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM