如何将React组件作为prop传递

zna*_*nat 4 javascript reactjs semantic-ui semantic-ui-react

我正在使用react-semantic-ui Modal对象.打开模态的对象是道具.

 <Modal
       trigger=<Button>Text</Button>
       otherProp=...
   >
  </Modal>
Run Code Online (Sandbox Code Playgroud)

我想在另一个组件中嵌入Modal:

export default class Confirm extends Component {

    render() {
        return (
            <Modal
                trigger={this.props.trigger} /* here */
              >    
                <Modal.Content>
                    ...
                </Modal.Content>
                <Modal.Actions>
                    ...
                </Modal.Actions>
            </Modal>
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将JSX代码(<Button>Text</Button>)作为要呈现为模态道具的道具传递?

Are*_*yan 7

您可以轻松做到以下

<Modal trigger={ <Button>Text</Button> }> 
   // content goes here 
</Modal>
Run Code Online (Sandbox Code Playgroud)

在里面Modal,你可以通过this.props.trigger它来访问它,你可以像下面那样呈现它

render () {
    return (
        <div>
            // some code can go here
            { this.props.trigger }
        </div>
    );
}
Run Code Online (Sandbox Code Playgroud)