所以,我有在 componentDidMount 上以编程方式激活的按钮点击。我遇到的问题是,因为有多个按钮点击,这导致预期点击(更新 Prisma 数据库)的预期结果完全偏离。
我想要发生的是updateItem
在页面加载时触发一次。实现这一目标的最佳方法是什么?:
componentDidMount(){
document.getElementById("updateItemButton").click();
document.getElementById("toggleCartButton").click();
}
render() {
return (
<Query query={SINGLE_ITEM_QUERY} variables={{ id: this.props.itemid }}>
return (
<Mutation mutation={TOGGLE_CART_MUTATION}>
{(toggleCart) => {
return (
<Mutation
mutation={UPDATE_ITEM_MUTATION}
variables={{
id: this.props.itemid,
quantity: itemDetails.quantity - this.props.quantity,
}}
refetchQueries={[{ query: CURRENT_USER_QUERY }]}
>
{(updateItem, { loading, error }) => (
<>
<div><button type="button" hidden id="updateItemButton" disabled={loading} onClick={updateItem} /></div>
<div><button type="button" hidden id="toggleCartButton" disabled={loading} onClick={toggleCart} /></div>
</>
)}
</Mutation>
);
}}
</Mutation>
);
}}
</Query>
);
}
我试过
onclick={(x) => {x}}
但这只会导致函数根本不触发。