在简单的反应类组件中,我们用来更改道具以这种方式声明:
constructor(props) { super(props) this.state = { pitch: props.booking.pitch, email: props.booking.email, firstName: props.booking.firstName, arrivalDate: props.booking.arrivalDate } }
但是我不知道如何在新功能中(如Hooks)执行此操作,但是我正在尝试以这种方式执行操作。
const GenerateDescHook = ({ description: initialDesc }) => { const [description, setDescription] = useState(null) useEffect(() => { setDescription(initialDesc) }, {}) function handleChangeVariance(newVariance) { setDescription({ ...description, template: { ...description.template, variance_name: newVariance, }, }) } }
基本上,我只需要更改描述道具,该道具来自另一个父组件以变为状态。请问,我能告诉我如何以新的方式像胡克斯一样去做吗?
您可以将初始状态作为第一个参数传递给useState:
useState
const GenerateDescHook = ({ description: initialDesc }) => { const [description, setDescription] = useState(initialDesc) ...