小编spe*_*eng的帖子

在React setState函数中使用e.target.value的问题

我在React中遇到一个奇怪的问题。我想我可能还没有完全了解React的工作原理,并且非常感谢您的帮助。

请在我的React组件下面找到:

class myComponent extends Component {
  state = {
    value: ''
  }

  updateValue = e => {
    this.setState({
      value: e.target.value
    })
  }

  render() {
    return (
     <form>
      <input type="text" onChange={this.updateValue} defaultValue={this.state.value} />
     </form>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,现在,如果我在文本字段中键入内容,则会收到以下警告和错误:

警告:出于性能原因,此合成事件已被重用。如果看到此消息,说明您正在通过已target发布/无效的综合事件访问该属性。设置为空。如果必须保留原始的合成事件,请使用event.persist()。

未捕获的TypeError:无法读取null的属性“值”

但是,如果我将'updateValue'方法更改为:

updateValue = e => {
    const newValue = e.target.value
    this.setState({
      value: newValue
    })
  }
Run Code Online (Sandbox Code Playgroud)

它将正常工作。

javascript reactjs

8
推荐指数
1
解决办法
3206
查看次数

如何在 docker-compose.yml 中开始测试之前等待数据库迁移完成

在 docker-compose.yml 文件中,我有 3 个服务。第一个服务用于启动 MySQL 数据库。第二个服务用于运行多个数据库迁移,以在第一个服务中创建的 MySQL 数据库中创建表和种子数据。第三个服务用于运行一些需要 MySQL 数据库的 Node.js 单元测试。问题是我需要在数据库迁移完成后才开始单元测试。但我无法知道这一点。

我尝试使用单元测试服务中的depends_on配置选项来使其依赖于数据库迁移服务,但根据Docker文档,depends_on仅保证单元测试服务在数据库迁移服务启动后启动。

unit-testing database-migration docker

5
推荐指数
1
解决办法
2708
查看次数

在 Next.js 中放置 Router.events 相关代码的位置

我只是想知道在 Next.js 中我可以在哪里放置 Router.events 相关代码?显然,我不能把它放在一个特定的组件中,因为它需要在整个应用程序中使用。

谢谢你。

next.js

1
推荐指数
1
解决办法
5270
查看次数

无法评估表达式方法抛出“org.hibernate.exception.GenericJDBCException”异常

我的应用程序中有 2 个模型,它们具有一对多和多对一的关系。

模型类是:

发票模型

@Entity
@Data
public class Invoice implements java.io.Serializable {
    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid2")
    private String id;

    private String business;

    private String client;

    private String invoiceNo;

    @Enumerated(EnumType.STRING)
    private InvoiceStatus status;

    private String additionalInfo;

    @OneToMany(mappedBy = "invoice")
    private Set<InvoiceItem> items = new HashSet<>();

    @CreationTimestamp
    private LocalDateTime createdAt;

    @UpdateTimestamp
    private LocalDateTime updatedAt;

    private LocalDateTime deletedAt;
}
Run Code Online (Sandbox Code Playgroud)

发票项目模型

@Entity
@Data
public class InvoiceItem {
    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid2") …
Run Code Online (Sandbox Code Playgroud)

java hibernate spring-mvc spring-data-jpa spring-boot

1
推荐指数
1
解决办法
1万
查看次数