react父组件调用子组件方法

父组件中通过react.CreateRef()声明一个ref,将声明的变量绑定到标签的ref中,那么该变量的current则指向绑定的标签dom。

父组件

import React, { useState } from 'react';
import List from "./../List/index.jsx"
function Home (){
    const billPictureRef = React.createRef();
    const [list, setList] = useState([{
        id:'1',
        name:'葡萄'
    },{
        id:'2',
        name:'西红柿'
    }]);


    const fn =()=>{
       billPictureRef.current.handClick()
    }
    return (
        <div  onClick={fn}>
            <List list={list}  ref={billPictureRef}/>
        </div>
    )
}

export default Home

 

子组件

import React from 'react';
class List extends React.Component {
    constructor(props){
        super(props);
        this.state = {}
    }
    handClick=()=>{
        console.log(1);
    }
    render(){
        const { list } = this.props
        return (
            <ul>
                {
                    list && list.map(item=>{
                        return <li key={item.id} >{item.name}</li>
                    })
                }
                
            </ul>
        )
    }

}
export default List

 

 
 
 
posted @ 2021-10-27 11:11  雪旭  阅读(1545)  评论(0编辑  收藏  举报