javascript - 必须返回有效组件错误

标签 javascript reactjs

我的代码:

import React, { Component } from 'react';
import ReactDOM from 'react-dom';

export default class App extends Component{
  render() {
    const numbers = {
      first : {
        name : "Dad",
        number : "1243342432",
        info : "Best dad ever!",
        birthDay : "4.2.1955"
      },
      second: {
        name : "Mom",
        number : "5435234523",
        info : "Best mom ever!",
        birthDay : "8.2.1967"
      },
      third: {
        name : "Martin",
        number : "5742253223",
        info : "Best friend Martin ever!",
        birthDay : ""
      }
    };  

    const FurtherInfo = (props) => {
      <div id={props.number}>
        <span className="contact__info"></span>
        <span className="contact__more"></span>
      </div>
    }

    const Name = (props) => {
      <p id="contact__name">{props.name}</p>
    }

    const Contant = (props) => {
        <li className="contact">
          <Name name={props.name}></Name>
          <FurtherInfo number={props.number}></FurtherInfo>
        </li>
    }

    const listItems = Object.values(numbers).map(
      person => <Contant name={person.name} number={person.number} ></Contant> 
    );

    return (
      <ul>{listItems}</ul>
    );
    }
}

但得到:A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.

查看了其他出现此错误的问题,不幸的是,没有一个与我的问题相符。通常它与不包括 () 到 return 有关声明,但不是我的情况。

以前有人处理过这个吗?

index.js 一如既往ReactDOM.render(<App />, document.getElementById('root'));

最佳答案

没有

const FurtherInfo = (props) => {
  <div id={props.number}>
    <span className="contact__info"></span>
    <span className="contact__more"></span>
  </div>
}

const Name = (props) => {
  <p id="contact__name">{props.name}</p>
}

const Contant = (props) => {
    <li className="contact">
      <Name name={props.name}></Name>
      <FurtherInfo number={props.number}></FurtherInfo>
    </li>
}

实际上返回任何东西(void)。您需要改用 ()

const FurtherInfo = (props) => (
  <div id={props.number}>
    <span className="contact__info"></span>
    <span className="contact__more"></span>
  </div>
)

例如

关于javascript - 必须返回有效组件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45623775/

相关文章:

reactjs - React-redux-router 不起作用

javascript - jquery click 具有相同类的元素

javascript - 面向对象与点分符号

javascript - 何时使用 this.props.children 以及为什么

reactjs - React Js 从 URL 获取参数

reactjs - 禁用/隐藏 "Download the React DevTools..."

javascript - HTML/CSS/JS : Display text before <i> tag

javascript - 尝试使用 jQuery 连接 php echo 显示成功消息

javascript - React 中的多步骤形式

javascript - 如何使用 react js context api 正确存储和检索数据?我的代码没有按预期工作