最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - A <Router> may have only one child element - Stack Overflow

programmeradmin1浏览0评论

I keep getting this error when trying to use links with react-router-dom

A <Router> may have only one child element

This is my code:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import Layout from './Layout';

class App extends Component {
  render() {
    return (
      <div className="App">

        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Wele to React</h1>
        </header>
        <p className="App-intro">
          To get started, edit <code>src/App.js</code> and save to reload.
        </p>
        <Layout />
        <div>

        </div>
      </div>
    );
  }
}

export default App;

I keep getting this error when trying to use links with react-router-dom

A <Router> may have only one child element

This is my code:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import Layout from './Layout';

class App extends Component {
  render() {
    return (
      <div className="App">

        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Wele to React</h1>
        </header>
        <p className="App-intro">
          To get started, edit <code>src/App.js</code> and save to reload.
        </p>
        <Layout />
        <div>

        </div>
      </div>
    );
  }
}

export default App;
Share Improve this question edited Sep 28, 2017 at 18:12 mplungjan 179k28 gold badges182 silver badges240 bronze badges asked Sep 28, 2017 at 18:09 ThrokarThrokar 733 silver badges13 bronze badges 1
  • 1 What does your Layout ponent look like? Could you post that in the question as well? – northsideknight Commented Sep 28, 2017 at 18:17
Add a ment  | 

1 Answer 1

Reset to default 6

Exactly like the error sounds, you need to wrap everything inside of <Router /> in a <div>.

Before:

render() {
    return (
        <Router>
            <Link />
            <Link />
            <Link />
        </Router>
    )
}

After:

render() {
    return (
        <Router>
            <div>
                <Link />
                <Link />
                <Link />
            </div>
        </Router>
    )
}

React ponents can only have one child.

发布评论

评论列表(0)

  1. 暂无评论