Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CRUD操作后的React更新组件

CRUD操作后的React更新组件
EN

Stack Overflow用户
提问于 2020-10-26 12:50:49
回答 1查看 426关注 0票数 1

我正在构建一个React web应用程序,该应用程序在连接到数据库的表上执行CRUD操作。我在React组件中使用axios对后端控制器进行ajax调用。Customers组件显示my表中的记录列表。当我从数据库中创建、删除或编辑记录时,Customers组件不会自动刷新。我必须刷新页面才能获得数据库中更新的记录。我看过提升状态,但我不明白为什么它不能工作,因为Customers组件已经是父组件了。

代码语言:javascript
运行
AI代码解释
复制
import React, { Component } from 'react';
import axios from 'axios';
import { Table, Header } from 'semantic-ui-react';
import EditCustomerModal from './EditCustomerModal';
import AddCustomerModal from './AddCustomerModal';
import DeleteCustomerModal from './DeleteCustomerModal';

export class Customers extends Component {
  constructor(props) {
    super(props);
    this.state = { customers: [] };

  }

  componentDidMount() {
    this.populateCustomerData();
  }

  render() {

    let customers = this.state.customers;

    return (
      <div>
        <Header as='h2'>Customer Table</Header>
        <p>This component demonstrates CRUD operations from the customer table.</p>

        <AddCustomerModal />

        <Table striped>
          <Table.Header>
            <Table.Row>
              <Table.HeaderCell>ID</Table.HeaderCell>
              <Table.HeaderCell>Name</Table.HeaderCell>
              <Table.HeaderCell>Address</Table.HeaderCell>
              <Table.HeaderCell textAlign="center">Actions</Table.HeaderCell>
            </Table.Row>
          </Table.Header>

          <Table.Body>
            {customers.map((customer) => {
              return (
                <Table.Row key={customer.id}>
                  <Table.Cell>{customer.id}</Table.Cell>
                  <Table.Cell>{customer.name}</Table.Cell>
                  <Table.Cell>{customer.address}</Table.Cell>
                  <Table.Cell textAlign="center">

                    <EditCustomerModal details={customer} />
                    <DeleteCustomerModal customerID={customer.id} />

                  </Table.Cell>
                </Table.Row>

              )
            })}
          </Table.Body>
        </Table >
      </div>
    );
  }

  populateCustomerData = () => {
    axios.get("Customers/GetCustomers")
      .then((result) => {
        this.setState({ customers: result.data })
      })
      .catch((error) => {
        console.log(error);
      });
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 13:24:17

您需要将一个changeState函数从Customers组件传递到modals,并在crud操作完成后调用它。

您可以将populateCustomerData函数传递给模态函数,并让它们在crud操作完成后调用该函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64537459

复制
相关文章
react 学习(三) 组件更新
我们上一节了了解了函数式组件和类组件的处理方式,本质就是处理基于 babel 处理后的 type 类型,最后还是要处理虚拟 dom。本小节我们学习下组件的更新机制。
测不准
2022/04/08
1.1K0
react 学习(三) 组件更新
react源码分析:组件的创建和更新
因为初始化的源码文件部分所涵盖的内容很多,包括创建渲染、更新渲染、Fiber树的创建与diff,element的创建与插入,还包括一些优化算法,所以我就整个的React执行流程画了一个简单的示意图。
flyzz177
2022/10/19
1.3K0
react源码分析--组件的创建和更新
因为初始化的源码文件部分所涵盖的内容很多,包括创建渲染、更新渲染、Fiber树的创建与diff,element的创建与插入,还包括一些优化算法,所以我就整个的React执行流程画了一个简单的示意图。
flyzz177
2022/12/14
1.3K0
react源码之组件的创建和更新
因为初始化的源码文件部分所涵盖的内容很多,包括创建渲染、更新渲染、Fiber树的创建与diff,element的创建与插入,还包括一些优化算法,所以我就整个的React执行流程画了一个简单的示意图。
flyzz177
2022/12/05
1.1K0
React源码学习入门(十一)React组件更新流程详解
上一篇文章提到最后更新组件是走到了performUpdateIfNecessary方法,让我们来看一看它的实现:
孟健
2022/12/19
7190
React源码学习入门(十一)React组件更新流程详解
react源码分析:组件的创建和更新2
因为初始化的源码文件部分所涵盖的内容很多,包括创建渲染、更新渲染、Fiber树的创建与diff,element的创建与插入,还包括一些优化算法,所以我就整个的React执行流程画了一个简单的示意图。
flyzz177
2023/01/04
9540
Elasticsearch的CRUD操作
1、添加信息 PUT http://192.168.56.201:9200/demo/employee/1?op_type=create { "first_name" : "John", "l
苦咖啡
2018/04/28
6630
MongoDB的CRUD操作(三)
在MongoDB中,我们可以使用find()方法来查询文档。该方法接受一个JSON对象,表示要查询的条件,并返回一个游标对象,该对象可以用于遍历查询结果集。
堕落飞鸟
2023/05/09
3100
小前端读源码 - React组件更新原理
年后一直忙于工作,导致一直没有去继续阅读React的更新原理。今天我们接着往下阅读吧!
LamHo
2022/09/26
6380
小前端读源码 - React组件更新原理
从0实现React 系列(二):组件更新
假设React是你日常开发的框架,在日复一日的开发中,你萌生了学习React源码的念头,在网上一顿搜索后,你发现这些教程可以分为2类:
一只图雀
2020/06/28
1.5K0
从0实现React 系列(二):组件更新
React中传入组件的props改变时更新组件的几种实现方法
我们使用react的时候常常需要在一个组件传入的props更新时重新渲染该组件,常用的方法是在componentWillReceiveProps中将新的props更新到组件的state中(这种state被成为派生状态(Derived State)),从而实现重新渲染。React 16.3中还引入了一个新的钩子函数getDerivedStateFromProps来专门实现这一需求。但无论是用componentWillReceiveProps还是getDerivedStateFromProps都不是那么优雅,而且容易出错。所以今天来探讨一下这类实现会产生的问题和更好的实现方案。
MudOnTire
2019/05/26
5.4K0
mysql CRUD操作
创建表的时候尽量加上create_time字段, 为create_time设置默认值CURRENT_TIMESTAMP CRUD操作 Create(增) 单条插入 INSERT INTO 表名(字段1, 字段2..) VALUES(值1, 值2) INSERT INTO class_1(name) VALUES('name_1') 多条插入 INSERT INTO 表名(字段1, 字段2..) VALUES(值1, 值2), (值1, 值2) Retrieve(查) 获取所有记录 SELECT 字段1,
友儿
2022/09/28
4770
mysql CRUD操作
MongoDB的CRUD操作(五)
在MongoDB中,我们可以使用deleteOne()和deleteMany()方法来删除文档。
堕落飞鸟
2023/05/09
2850
MongoDB的CRUD操作(四)
在MongoDB中,我们可以使用updateOne()和updateMany()方法来更新文档。
堕落飞鸟
2023/05/09
3770
MongoDB的CRUD操作(一)
MongoDB是一种NoSQL数据库,使用面向文档的数据模型,不同于传统的关系型数据库。在MongoDB中,数据以文档的形式存储,这些文档使用JSON格式表示,并且可以嵌套其他文档或数组。
堕落飞鸟
2023/05/09
4000
MongoDB的CRUD操作(二)
要在MongoDB中创建一个文档,我们可以使用insertOne()或insertMany()方法。insertOne()方法用于向集合中插入一个文档,而insertMany()方法用于向集合中插入多个文档。
堕落飞鸟
2023/05/09
2790
React报错之无法在未挂载的组件上执行React状态更新
原文链接:https://bobbyhadz.com/blog/react-cant-perform-react-state-update-on-unmounted-component[1]
chuckQu
2022/08/19
2.8K0
JDBC的CRUD操作之PreparedStatement的查询操作
1.1 JDBC的CRUD操作之PreparedStatement的查询操作 1.1.1 查询操作代码实现 @Test /** * 查询操作 */ public void demo4(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ // 获得连接: conn = JDBCUtils.getConnection(); // 编写SQL:
兮动人
2021/06/11
5260
JDBC的CRUD操作之PreparedStatement的查询操作
Mybatis实现CRUD操作
1.dao层接口编写 public interface IUserDao { /** * 查询所有 * @return */ List<User> findAll(); /** * 查询一条 * @return */ User findById(Integer id); /** * 保存 * @return */ void saveUser(User user);
暴躁的程序猿
2022/03/23
2450
Mybatis实现CRUD操作
JDBC的CRUD操作之PreparedStatement的删除操作
1.1 JDBC的CRUD操作之PreparedStatement的删除操作 1.1.1 删除操作的代码实现 @Test /** * 删除操作 */ public void demo3()
兮动人
2021/06/11
6230
JDBC的CRUD操作之PreparedStatement的删除操作

相似问题

在React中执行CRUD操作后更新表?

18

如何在CRUD操作后更新react js中的材料表?

118

CRUD操作后的Reactjs改进机组件

11

Vuex更新CRUD操作后状态的方法

11

调度操作后组件未更新- react-redux

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档