我目前在另一個組件中渲染React包裝器組件時出現問題。基本上,我包裝組件(CreatePage),然後嘗試將其導入到另一個組件(EditPage),但出現錯誤「無法讀取未定義的屬性pageType
」。 pageType
是我定義的CreatePage的道具,但奇怪的是我在這兩個組件的渲染函數中都有調試器,並且都沒有被擊中,所以我認爲由於某種原因組件本身存在問題,但我不確定完全是什麼。下面是從EditPage代碼的一些背景:React組件:無法讀取未定義錯誤的屬性
import React, { Component, PropTypes } from 'react';
import CreatePage from './CreatePage';
import withResource from '../../../../lib/withResource';
export class EditPage extends Component {
constructor(props){
super(props);
}
render() {
debugger;
return (
<div>
<CreatePage pageType={'edit'}/>
</div>
);
}
}
export default withResource(
{
name: 'EditResource',
key: 'hello',
},
EditPage);
代碼CreatePage:
export default class CreatePage extends Component {
constructor(props) {
super(props);
}
headerTitles = {
'create': i18n._('Create', '[m10n]'),
'edit': i18n._('Edit', '[m10n]'),
}
renderHeader(pageType) {
return (
<div className={cx('headerWrapper')}>
<div className={cx('header')}>
<div className={cx('title')}>
{this.headerTitles[pageType]}
</div>
</div>
</div>
);
}
renderCreateEditPage(pageType) {
return (
<div>
{this.renderHeader(pageType)}
<div className={cx('contentWrapper')}>
<div>
<NameTag type={'pageType'}/>
</div>
</div>
</div>
);
}
render() {
return (
<div className={cx('pageWrapper')}>
{this.renderCreateEditPage(this.props.options.pageType)}
</div>
);
}
}
你能提供CreatePage的代碼嗎? – Yozi
只需將其添加到帖子中作爲編輯。 – user3802348