【问题标题】:Props and onChildClick not working together道具和 onChildClick 不能一起工作
【发布时间】:2021-07-18 11:26:54
【问题描述】:

我有一个父组件“Item”和一个子组件“Order”。

Item 有一个按钮,用于切换是否显示“订单”。如果显示 book,它将获取的详细信息作为 props 传递给 Order 组件,以及用于切换其打开或关闭的函数。

在将道具添加到“订单”之前,切换效果很好。添加道具后,道具处理正常工作,但现在该功能不起作用。我做错了什么?

const Item = () => {
    const [item, setItem] = useState('');

    const [order, setOrder] = useState('');

    //Api call to get item

    const orderOpenClose = () => {
        setOrder(!order);
    };

    return (
        <>
                <div onClick={orderOpenClose}>
                    <Button text="Order"></Button>
                </div>
                {order ? <Order acc={item} onChildClick={orderOpenClose}/> : ""}
        </>
    )
}

const Order = (props, { onChildClick }) => {

    const { item } = props;

    return (
        <>
                
                <div onClick={onChildClick}>
                    x
                </div>
                <p>{item.title}</p>
    )
}```

【问题讨论】:

    标签: javascript reactjs react-hooks


    【解决方案1】:

    这个(props, { onChildClick }) 只是语法不正确,你可以破坏props 或将它们作为一个对象传递,但不能同时传递,所以你可以这样做

    const Book = ({acc, onChildClick }) 
    

    const Book = (props) => {
     const { acc,onChildClick  } = props;
    

    【讨论】:

    • 是的,最后一个对我有用,非常感谢!
    猜你喜欢
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2019-08-17
    • 2016-11-23
    相关资源
    最近更新 更多