node.js - 在事件上重新加载 react 表

标签 node.js reactjs react-table

我使用 React 作为数据的显示工具,并结合 framework react-table列出我的数据。

我有一个字段可以在我的数据库中创建新对象,但我无法在不离开 View 的情况下重新加载表。

我的问题,如何重用该函数来加载数据? (source code)

class ElementCRDN extends React.Component {
    constructor(props) {
        super(props);
        this.handleCreation = this.handleCreation.bind(this);
        this.handleInput = this.handleInput.bind(this);
        this.state = {
            data: [], // the data retrieved from the server
            pages: -1,
       };
   }

   handleCreation(event) {
        Axios.post('/createElement', {
            // data
        }).then(() => {
            // Ask for reload
       });
       event.preventDefault();
   }

   render() {
       <form onSubmit={this.handleCreation}>
           // input to create object
       </form>
       <ReactTable
          data={this.state.data}
          pages={this.state.pages}
          loading={this.state.loading}
          manual
          columns={columns}
          onFetchData={(state) => { // function to retrieve the data
              this.setState({ loading: true });
              Axios.post('/listElements', {
                  page: state.page,
                  pageSize: state.pageSize,
                  sorted: state.sorted,
                  filtered: state.filtered,
              }).then((res) => {
                  this.setState({
                  data: res.data,
                  loading: false,
                  });
              });
          }}
       />
   }

感谢您的阅读

最佳答案

成功创建后,我只需将元素添加到您的数据中即可。您可以再次使用 this.setState 以及通过 createElement 发布的新数据值。

async handleCreation(event) {
  this.setState({ loading: true });
  await Axios.post('/createElement', data);
  this.setState({ data: this.state.data.concat(data), loading: false });
}

关于node.js - 在事件上重新加载 react 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50218489/

相关文章:

javascript - 在 React 组件中链接 redux Action 创建者 Promise.then()

javascript - 如何向 react 表添加新行

javascript - 为什么这两种进行异步调用的方法(一种使用 Promise,另一种使用生成器)不会产生相同的结果?

javascript - 在 Sails 的 Waterline beforeUpdate Hook 中获取当前值

javascript - 我应该如何传递我的 Prop 以获得有效的 Array[Object]

javascript - 如何在 MUI 中单击卡片时添加波纹效果

node.js - Dockerfile env 依赖的起点

node.js - 无法从 NodeJS 程序建立到 MongoDB 的 SSL 连接

reactjs - 如何在react-table中添加不区分大小写的过滤组件内容?

reactjs - 如何在 react 表访问器中调用函数? ( react )