如何设置条件 onClick 行为以响应异步函数
How to set conditional onClick behaviour in react with async function
我有一个发送异步请求的按钮,但我只想在变量为 false 时发送此请求。我已尝试遵循此 但我不断收到错误
这是原来的onClick
onClick={async () => {
const CompleteCA = async () => {
try {
if (!statusFinal) {
await sendTransaction({
},
});
}
await updateCA({
variables: {
id: CA,
},
});
history.push('/');
} catch (error) {
logError(error);
}
};
CompleteCA();
}}
添加条件后:
onClick={async () => {
testFlag ? alert("flag is true") :
const CompleteCA = async () => {
try {
...... rest of function
}
};
CompleteCA();
}}
由于无法在 onClick 中声明 const,因此我将所有行都加了下划线,但我不确定如何将其移出到另一个函数并保持异步完整
我建议单独定义异步函数并将条件逻辑放在那里。然后从 onClick
调用它,例如 <button onClick={async () => { await asyncFunc(); } }>Click</button>
Here 是一个简单的 CodeSandbox 示例。
我有一个发送异步请求的按钮,但我只想在变量为 false 时发送此请求。我已尝试遵循此
这是原来的onClick
onClick={async () => {
const CompleteCA = async () => {
try {
if (!statusFinal) {
await sendTransaction({
},
});
}
await updateCA({
variables: {
id: CA,
},
});
history.push('/');
} catch (error) {
logError(error);
}
};
CompleteCA();
}}
添加条件后:
onClick={async () => {
testFlag ? alert("flag is true") :
const CompleteCA = async () => {
try {
...... rest of function
}
};
CompleteCA();
}}
由于无法在 onClick 中声明 const,因此我将所有行都加了下划线,但我不确定如何将其移出到另一个函数并保持异步完整
我建议单独定义异步函数并将条件逻辑放在那里。然后从 onClick
调用它,例如 <button onClick={async () => { await asyncFunc(); } }>Click</button>
Here 是一个简单的 CodeSandbox 示例。