【发布时间】:2016-07-18 01:58:00
【问题描述】:
我正在尝试将我的 App 组件传递给我的 Body 组件。它可以工作,而且看起来效果很好,但我在控制台中收到了上述警告。这是我的代码:
Document.js
import React from 'react';
import Head from './Head';
import Body from './Body';
import App from '../timer/App';
const Document = () => (
<html>
<Head />
<Body app={App} />
</html>
);
export default Document;
Body.js
import React, { PropTypes } from 'react';
const Body = ({ app: App }) => (
<body>
<App />
<script src='/js/bundle.js'></script>
</body>
);
Body.propTypes = {
app: PropTypes.element.isRequired
};
export default Body;
App.js
import React from 'react';
const App = () => (
<h1>Hello</h1>
);
export default App;
没有其他错误,App 渲染良好,所以我不确定propType 失败的原因。任何帮助将不胜感激!
【问题讨论】:
-
您是否有任何理由将您的应用程序作为属性而不是子项传递?你可以这样做:
<Body><App /></Body>然后在你的 Body.js 中,用{this.props.children}切换<App/>
标签: javascript reactjs ecmascript-6 react-jsx