![](/img/trans.png)
[英]How to pass data from child to parent on click of a button in the parent React
[英]How can I pass a click event from a parent to child elements in React? [ c ]
單擊祖先標簽時,我希望使用window.open()打開以下鏈接。
我知道道具很容易傳遞給孩子,但這無濟於事。
子元素如下所示:
import React from 'react';
class FramePageFaveTagFave extends React.Component {
constructor(props) {
super(props);
}
bookmarkClicked (url) {
window.open(url, '_blank')
}
render () {
let bm = this.props.bookmark;
let tagClicked = this.props.tagClicked;
return (
<div className='bookmark_div' id={bm.id + 'a'} onClick={() => {this.bookmarkClicked(bm.url)}} >
<img className='bookmark_image' id={bm.id + 'c'} src={'../_favicons/' + bm.favicon_local}/>
<a className='bookmark_link' id={bm.id + 'b'} href={bm.url} target='_blank'
onClick={()=>{e.preventDefault();}}>
{bm.title}
</a>
</div>
);
}
}
export default FramePageFaveTagFave;
一個好的經驗法則是在進行此類工作時考慮回調。 父級可以傳遞一個名為onBookmarkClicked
,該onBookmarkClicked
需要一個url
。 也許這樣:
onBookmarkCalled(url) {
window.open(url, '_blank')
}
<ChildBookmark onBookMarkCalled={this.onBookmarkCalled} />
並且您可以在子級中執行完全相同的操作,除了代替this.bookmarkClicked
您可以執行onClick={() => this.props.onBookmarkClicked(url)}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.