我将onclick在按钮中的事件中调用异步函数。但它不起作用。是否可以在按钮 onlick 中调用异步函数?
这是代码。
过滤按钮
const FilterButton = (props) => {
return (
<div className="p-2 ">
<button className="btn btn-secondary" onClick={props.fetchInvoices}>Filter</button>
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
fetchInvoices 异步函数
fetchInvoices = async () => {
const invoices = await getInvoices(this.currentState.params);
this.props.store.dispatch(UpdateInvoices(invoices));
};
Run Code Online (Sandbox Code Playgroud)
将函数传递给组件的代码
<SearchField store = {this.props.store} fetchInvoices={this.fetchInvoices}/>
Run Code Online (Sandbox Code Playgroud)
Mor*_*idt 30
这就是我在一个内部调用我的异步的方式onClick:
<Button onClick={async () => {await this.asyncFunc("Example");} }/>
async asyncFunc(text) {
console.log(text);
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*ean 11
你的异步函数:
const asyncFunc = async () => {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("I am a done promise!"), 3000)
});
let result = await promise
alert(result);
}
Run Code Online (Sandbox Code Playgroud)
您的按钮组件调用:
<button onClick={asyncFunc} >I am a button!</button>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25387 次 |
| 最近记录: |