create-react-app hook 父子组件传值

如图,需求是,用hook 实现点击  add+  按钮,就添加下面的子组件,点击删除的时候,就删除对应的子组件

思路:

1.父组件传值到子组件,直接父组件用 props 传参,子组件用 props 接受就可以了,我这里用的name,也可以换成 bannar

{
    list.map((good, index) =>
        <Item key={index} name={good.name} filterHandle={filterHandle} />
    )
}

子组件

import React from 'react';

// 这里要记得接收,要不不会显示
function Item(props) {
    return (
        <div>
            <button onClick={deleteItem}>刪除</button>
            {/* 这里直接用props.属性名接受就可以了 */}
            <span>{props.name}</span>
        </div>
    )
}
export default Item;

2.子组件里删除数据

父组件

<Item index={index} name={item.name} deleteHandle={deleteHandle}/>
    //这里就是删除的方法,子组件里面会调用的
    const deleteHandle = (val) => {
        let arr = list
        arr.splice(arr.findIndex(item => item.name === val), 1)
        setList(
            [...arr]
        );
    }

子组件

<button onClick={deleteItem}>刪除</button>
<span>{props.name}</span>
//这个 deleteHandle 方法,和父组件里的 deleteHandle 方法是对应的
const { deleteHandle } = props;
const deleteItem = (event) => {
    deleteHandle(props.name)  
}

才疏学浅,如有不足,欢迎指出 ,不胜感激 (•̀ᴗ•́)و ̑̑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值