在一个渲染功能中,我创建了1-3个组件BigText
List[List]
d是真实对象return (<div>{ d.sql[0] !== null ? <BigText content={d.sql[0]}>SQL</BigText> : <span> </span> }
{ d.event[0] !== null ? <BigText content={d.event[0]}>Event</BigText> : <span> </span>}
{ d.stacktrace[0] !== null ? <BigText content={d.stacktrace[0]}>Trace</BigText> : <span> </span>}</div>)
。这段代码似乎是正确的。
但是作为内容传递的对象在BigText组件渲染中不存在。
Object {sql: Array[1], stacktrace: Array[1], event: Array[1]}
记录此对象。如下所示,当调用组件进行渲染时,props.content为null,当调用构造函数时,它也为null:
class BigText extends React.Component {
constructor(props) {
super(props);
this.toggleViewer = this.toggleViewer.bind(this);
console.log(this);
}
toggleViewer() {
console.log(this);
this.props.viewerToggle(this.props.content);
}
render() {
console.log(this);
return (<FlatButton primary={true} onTouchTap={this.toggleViewer}>{this.props.children}</FlatButton>)
}
}
BigText.propTypes = {
class: React.PropTypes.string,
content: React.PropTypes.any.isRequered
}
在哪里挖掘来解决这个问题?