似乎最近 React 不會this.props.children像過去那樣將其視為函數。我剛剛編寫了一個Modal組件,它的closeModal功能應該傳遞給孩子,render() { return ( <Modal> { (closeModal) => { return (<span onClick={closeModal}>Click to close modal</span>) } } </Modal> )}模態看起來像這樣class Modal extends React.Component { constructor(props) { this.state = { show: true } this.close = this.closeModal.bind(this) } closeModal() { this.setState({ show: false }) } render() { if (!this.state.show) return null return ( <div> { this.props.children } </div> ) }}我試圖通過傳遞函數作為道具this.props.children({ closeModal: this.closeModal }),猜猜是什么,this.props.children根據最新的 React 16.9 不是函數。至于與GraphQL工作的人一個參考,我看到阿波羅客戶<Mutation>和<Query>合作得非常大致相同的方式。如何實現?編輯:為什么不重復?因為其他答案依賴于this.props.children函數,而最近 React 現在呈現錯誤,需要一種新的方法來解決這個問題:TypeError: this.props.children is not a function
將函數傳遞給 this.props.children
慕容708150
2021-10-07 10:22:50