Node.js 删除行的mobx react应触发两次以更新视图
我对Node.js 删除行的mobx react应触发两次以更新视图,node.js,reactjs,mobx,Node.js,Reactjs,Mobx,我对react中的mobx有问题。 我用antd组件制作了一张表。我想在单击行时删除该行 因此,当我单击时,我会触发一个使用delete方法的@action,然后为get请求触发@action。当我点击删除图标时,它会删除我用nodeJs创建的服务器,但它不会重新呈现表格,当我再次点击删除图标时,它会重新呈现。但在网络选项卡中,两个请求是相同的。 感谢您的帮助。 my nodeJs删除方法: app.delete("/api/accommodation/delete/:id", function
react
中的mobx
有问题。
我用antd
组件制作了一张表。我想在单击行时删除该行
因此,当我单击时,我会触发一个使用delete方法的@action,然后为get请求触发@action。当我点击删除图标时,它会删除我用nodeJs创建的服务器,但它不会重新呈现表格,当我再次点击删除图标时,它会重新呈现。但在网络选项卡中,两个请求是相同的。感谢您的帮助。
my nodeJs删除方法:
app.delete("/api/accommodation/delete/:id", function(req, res) {
fs.readFile("./data/accommodation.json", function(err, data) {
var deleteId = req.params.id;
console.log("deleted", deleteId);
const parsedData = JSON.parse(data);
parsedData.map((item, index) => {
if (item.id == deleteId) {
parsedData.splice(index, 1);
}
});
fs.writeFile(
"./data/accommodation.json",
JSON.stringify(parsedData),
function(error, writeData) {}
);
});
res.end();
}))
我的桌子:
import React,{Component}来自“React”;
const ReactDOM=require(“react dom”);
从“antd”导入{布局、表格、行、列、按钮、输入、分页};
从“mobx react”导入{inject,observer};
从“mobx”导入{observable};
从“react icons/md”导入{MdSearch};
const{Header,Content}=Layout;
const Search=Input.Search;
@注入(“存储”)
@观察者
导出默认类服务扩展组件{
@可观察
store=this.props.stores.services;
componentDidMount(){
this.store.getAccountationData(this.store.tableQuery);
}
render(){
返回(
خدمات
新的+
this.store.onSearch(e)}
/>
record.id}
onChange={this.store.changeTable}
/>
this.store.pageChange(e)}
/>
);
}
}
我自己发现了问题。 当我在delete函数中调用get函数时,我没有返回它 我应该这样做:
.then(() => this.getAccommodationData(this.tableQuery))
与此相反:
.then(this.getAccommodationData(this.tableQuery))