使用动态子组件反应组件

时间:2017-12-04 16:51:09

标签: javascript reactjs

我正在创建一个反应动态对话框,您可以在其中添加对话框的功能。

这样做的一种方法是使用Composition,但我没有通过合成设法做到这一点。

我对React不是很有经验,所以这是我的第一个方法

我得到了我的模态组件,模态有

export default class KneatModal extends React.Component {
constructor() {
  super();
  this.state = {
     open: false
  }
  this.components = [];

我会添加这样的组件

import CommentField from '../../../Modal/ModalContents/CommentField.jsx'

export default class DoApprove extends React.Component {
constructor() {
  super();
}

componentDidMount() {
 this._buildDialog();
}

_buildDialog() {
  console.log("Building the Dialog"); 
  this.modal.components.push(CommentField);
}

在那个模态渲染器中,我有

<ModalContent components={ this.components } />

然后我在ModalContent中的最终渲染器尝试渲染所有附加组件

 render() {
  var list = this.props.components.map((Component, key) => <Component/> ); 
  return (
     <div className='modal-contents'>
        {list}
     </div>
 )

}

但渲染方法似乎不起作用,我尝试使用callin Component.render()而不是组件标记,但仍然无法使子组件渲染。 =(

会给予任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

更具体地说,这将继续尝试

et = (EditText)findViewById(R.id.someId);
et.addTextChangedListener(new Max30TextWatcher(et));