当前位置: 首页 > 知识库问答 >
问题:

它必须是一个函数,通常来自React。产品类型

宁鹏程
2023-03-14

我想把字符串从Main传递到Header。它成功了,但也发出了警告。我是React的初学者,所以我不知道它一定是函数的意思。

有人知道如何解决这个警告吗?

警告是:

我的代码如下:

主要的js

import React from 'react';

import Header from './Header';
import AppList from './AppList/AppList';
import Footer from './Footer';

const propTypes = {
  mainInfo: React.PropTypes.shape({
    title: React.PropTypes.string.isRequired,
    apps: React.PropTypes.array.isRequired,
  }),
};

class Main extends React.Component {
  static methodsAreOk() {
    return true;
  }

  render() {
    return (
      <div>
        <Header title={this.props.mainInfo.title} />
        <AppList apps={this.props.mainInfo.apps} />
        <Footer />
      </div>
    );
  }
}

Main.propTypes = propTypes;

export default Main;

Header.js

import React from 'react';

const propTypes = {
  title: React.PropTypes.string.isRequred,
};

class Header extends React.Component {
  static methodsAreOk() {
    return true;
  }

  render() {
    return (
      <div className="header">
        <h1>{this.props.title}</h1>
      </div>
    );
  }
}

Header.propTypes = propTypes;

export default Header;

共有3个答案

空慈
2023-03-14

而且,它是布尔人的bool。我浏览了一下文档,发现了完全相同的问题,直到我回去仔细阅读。

https://facebook.github.io/react/docs/typechecking-with-proptypes.html

陶山
2023-03-14

当您的PropType实际上是未定义时就会发生这种情况。

在我的例子中,我指定了一个PropTypes.integer的proType,它不是protype列表中的一个。这实际上变成了未定义的代码。相反,我应该使用PropTypes.number。

注意proptype的类似错误。boolvsPropTypes。布尔值,以及属性类型。funcvsPropTypes。功能

姜钊
2023-03-14

您有一个错误:React。PropTypes.string.is需要。拼写是必需的正确,它应该是确定的。

 类似资料: