鍍金池/ 問(wèn)答/Java  HTML/ react組件。給父組件定義data,點(diǎn)擊其子div如何獲取其父組件data

react組件。給父組件定義data,點(diǎn)擊其子div如何獲取其父組件data

newslistclick(e) {
    console.log(e.target.dataset)
}

<div key={item.newsId} data-newslistid={item.newsId} onClick={this.newslistclick.bind(this)} >
<div>
</div>
</div>

回答
編輯回答
凹凸曼

你這描述太模糊了,你看看是那種情況

class List extends React.Component{
                constructor(){
                    super();
                }
                getulid(){
                    console.log(this.refs.ul.getAttribute("data-id"));
                }
                render(){
                    var arr = [1,2,3];
                    return(
                        <ul data-id="myul" ref="ul">
                        {
                            arr.map((item,index)=>{
                                return <Li data-id={item} key={index} val={item} getulid={this.getulid.bind(this)}/>
                            })
                        }
                        </ul>
                    )
                }
            }
            class Li extends React.Component{
                constructor(props){
                    super(props);
                }
                showid(e){
                    console.log(e.target.id);
                    this.props.getulid();
                }
                render(){
                    return(
                        <li id={this.props["data-id"]} onClick={this.showid.bind(this)}>我是{this.props.val}</li>
                    )
                }
            }
            ReactDOM.render(
                <List />,
                document.getElementById('box')
            )
2018年4月19日 20:54