我的父组件
import EditReview from './partials/editReview'
class VenueDetails extends Component {
constructor(props) {
super(props)
this.child = React.createRef();
}
render() {
return (
<div className="place-review-text">
<EditReview {...this.props}/>
</div>
)
}
}
我的孩子组件
class EditReview extends Component {
onEditClick(review, editIndex) {
console.log('ppp')
}
render() {
const { handleSubmit, user, pristine, index, commentCrossClick } = this.props
return (
<div>
<Field
name="content"
component={renderTextArea}
className="form-control"
label="Write your review..."
rows={2}
/>
</div>
)
}
}
export default EditReview
我需要从父组件调用onEditClick
。我试过this但不起作用。
请帮助我
编辑
升级后我得到了这个
Error in ./~/react-dom/lib/ReactServerRendering.js
Module not found: 'react/lib/React' in /home/user/ashish/LTC/lovethesecities-frontend/node_modules/react-dom/lib
React docs有一个使用refs的例子
https://reactjs.org/docs/refs-and-the-dom.html
我也想知道想要这样做的用例,也许某些上下文可以帮助解决问题?
尝试这样做:
import EditReview from './partials/editReview'
class VenueDetails extends Component {
render() {
return (
<div className="place-review-text">
<EditReview ref={Ref => this.child=Ref } {...this.props} />
</div>
)
}
}
并将父组件中的函数调用为this.child.onEditClick(param1,param2)
EDIT1
如果你必须做反应15.x本身你可以做的是在父母创建功能并将其作为道具传递给孩子