【发布时间】:2020-11-30 18:09:28
【问题描述】:
我想将字符串从 Main 传递到 Header。它成功但警告。我是 React 的初学者,所以我不知道 it must be a function 是什么意思。
有人知道如何解决这个警告吗?
警告是:
我的代码如下:
Main.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;
【问题讨论】:
-
如果使
this.props.mainInfo.title只是一个字符串,警告不会改变。
标签: reactjs