首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >React - prop-types被标记为required

React - prop-types被标记为required
EN

Stack Overflow用户
提问于 2018-06-10 06:29:37
回答 3查看 1.7K关注 0票数 1

当我使用propTypes和条件渲染子对象时,我遇到一个错误。

错误:Warning: Failed prop type: The prop 'rate' is marked as required in 'Rate', but its value is 'undefined'

代码语言:javascript
复制
// index.js
import React, { Component } from "react";
import { render } from "react-dom";
import Rate from "./components/Rate";
import Card from "./components/Card";

class App extends Component {
  state = {
    loading: true
  };

  componentDidMount() {
    setTimeout(() => this.setState({ loading: false, rate: 5 }), 5000);
  }

  render() {
    return (
      <Card loading={this.state.loading}>
        <Rate rate={this.state.rate} />
      </Card>
    );
  }
}

render(<App />, document.getElementById("root"));

// rate.js
import React from "react";
import PropTypes from "prop-types";

const Rate = ({ rate }) => (
  <div>
    <span>{rate}/10</span>
  </div>
);

Rate.propTypes = {
  rate: PropTypes.number.isRequired
};

export default Rate;

我在这里重现了我的错误:https://codesandbox.io/embed/qvx8q78ypw

我只想在loading设置为false时渲染子元素。

EDIT :在呈现之前,我不明白为什么在Rate组件上会出现这个错误

我不明白为什么我会得到这个错误。

感谢你的帮助

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50779057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档