Javascript 在reactjs中从父函数调用子函数
我的父组件Javascript 在reactjs中从父函数调用子函数,javascript,reactjs,react-component,Javascript,Reactjs,React Component,我的父组件 import EditReview from './partials/editReview' class VenueDetails extends Component { constructor(props) { super(props) this.child = React.createRef(); } render() { return ( <div className="place-review-text">
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
在解决了所有错误后,React文档使用REF提供了一个示例
我还想知道想要这样做的用例,也许一些上下文可以帮助回答这个问题?React文档有一个使用REF的例子
我还想知道想要这样做的用例,也许一些上下文可以帮助回答这个问题?试着这样做:
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>
)
}
}
import EditReview from./partials/EditReview'
类VenueDetails扩展了组件{
render(){
返回(
this.child=Ref}{…this.props}/>
)
}
}
并将父组件中的函数调用为this.child.onEditClick(param1,param2)
EDIT1:
如果必须使用react 15.x本身执行此操作,则可以在parent中创建函数,并将其作为道具传递给child尝试如下操作:
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>
)
}
}
import EditReview from./partials/EditReview'
类VenueDetails扩展了组件{
render(){
返回(
this.child=Ref}{…this.props}/>
)
}
}
并将父组件中的函数调用为this.child.onEditClick(param1,param2)
EDIT1:
如果您必须使用react 15.x本身,您可以做的是在父级中创建函数并将其作为道具传递给子级为什么不在父级中创建该函数并将其作为道具传递给子级,这似乎是唯一的选项…是的,但onClick处理程序位于父级组件中。。。好的,请稍候,我正在升级,为什么不在父组件中创建该函数并作为道具传递给子组件,这似乎是唯一的选项…是的,但onClick处理程序在父组件中。。。好的,请稍候,我正在升级