React学习理解

表单

受控组件

官方定义

在 HTML 中,表单元素(如<input><textarea><select>)通常自己维护 state,并根据用户输入进行更新。而在 React 中,可变> 状态(mutable state)通常保存在组件的 state 属性中,并且只能通过使用 setState()来更新。

我们可以把两者结合起来,使 React 的 state 成为“唯一数据源”。渲染表单的 React 组件还控制着用户输入过程中表单发生的操作。被 React 以这种方式控制取值的表单输入元素就叫做“受控组件”。

总结: 受控组件就相当与 Vue 中的 v-model

注意点:在受控组件上指定 value 的 prop 会阻止用户更改输入 ,value 设置为 undefined 或 null 了 用户可以自行输入

正确的方式是:

  • 有 value 的绑定,就得有对应的 onChange 或者 onInupt 通过 setState 修改 value
  • 如果让用户自行输入数据值,而无需对变化做处理 ,可以使用非受控组件

react-router-dom

Route 放入 children 和 component 中的区别


// children 中 home 通过 props 获取不到路由数据
<Route path="/home">
    <Home />
</Route>
// component 中 home 通过 props 可以获取到路由数据
<Route path="/home" component={Home}>
</Route>

posted @ 2021-10-11 13:30  __Bowen  阅读(24)  评论(0编辑  收藏  举报