响应事件
- 编写事件处理函数的不同方法
- 如何从父组件传递事件处理逻辑
- 事件如何传播以及如何停止它们
- 可以通过将函数作为 props 传递给元素如
<button
来处理事件。
- 必须传递事件处理函数引用,而非函数调用。
- 可以单独或者内联定义事件处理函数。
- 事件处理函数在组件内部定义,所以他们可以访问 props。
- 可以在父组件中定义事件处理函数,并将其作为 props 传递给子组件。
- 可以根据特定于应用程序的名称定义事件处理函数的 props。
- 事件会向上传播。通过事件的第一个参数调用
e.stopPropagation()
来阻止这种情况。
- 事件可能具有不需要的浏览器默认行为。调用
e.preventDefault()
来阻止这种情况。
- 从子组件显示调用事件处理函数 props 是事件传播的另一种优秀替代方案。
state: 组件的记忆
- 如何使用
useState
Hook 添加 state 变量。
useState
Hook 返回哪一对值。
- 如何添加多个 state 变量。
- 为什么 state 被称作是局部的。
- 如何保证多个 state 的顺序,简易实现 setState Hook。
- 当一个组件需要在多次渲染之间“记住”某些信息时使用 state 变量。
- state 变量时通过调用
useState
Hook 来声明的。
- Hook 是以
use
开头的特殊函数。
- Hook 可能会让你想起 import:他们需要在非条件语句中使用。调用 Hook 时,包括
useState
,仅在组件或另一个 Hook 的顶层被调用才有效。
useState
Hook 返回一对值:当前 state 和更新它的函数。