在 React 中,props 和 state 是两个不同的概念,它们有不同的目的和用法。变动 props 不会直接引起 state 的变动,因为它们是不同的数据源。
props
state
useState
this.setState
import React, { useState, useEffect } from 'react'; function MyComponent(props) { // 使用 state hook 定义内部状态 const [count, setCount] = useState(0); // 当 props 发生变化时,可以在 useEffect 中处理 useEffect(() => { // 执行一些操作,例如根据新的 props 更新组件的 state setCount(props.initialCount); }, [props.initialCount]); // 仅在 props.initialCount 发生变化时触发 useEffect return ( <div> <p>Count: {count}</p> </div> ); } export default MyComponent;
在上面的例子中,当 props.initialCount 发生变化时,我们使用 useEffect 来更新组件的内部状态 count。这并不是 props 直接影响 state,而是通过 useEffect 实现了在 props 变动时更新组件状态的逻辑。
props.initialCount
useEffect
count
原文链接:codingdict.net