首页 > 解决方案 > 为什么在反应中使用输入值

问题描述

<input value={name.firstName}  onChange={e => setName({firstName : e.target.value})} />

即使我们删除该值并使用此代码:

<input onChange={e => setName({firstName : e.target.value})} />

该应用程序仍然有效。有什么区别?第二个问题,你认为这些钩子会被用作 React 的默认使用吗?context api 会在不久的将来替代 redux 吗?

标签: reactjsreduxreact-hooks2d-context-api

解决方案


  1. 最好使用 value 属性,因为如果在设置值时抛出一些错误,用户会看到它。例如,如果值停止存储在状态中,输入也将停止。如果您不使用值标签,则输入不会在这种情况下停止。

  2. 不。在 React 文档中,我们读到“我们打算让 Hooks 涵盖类的所有现有用例,但在可预见的未来我们将继续支持类组件。在 Facebook,我们有数以万计的组件编写为类,我们绝对有没有计划重写它们。相反,我们开始在新代码中与类一起使用 Hooks。

  3. 由于几个重要原因,ContextAPI 不会取代 redux。您没有时间旅行调试器或可配置的中间件。你也可以阅读这篇文章


推荐阅读