1 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
我決定去掉 Form 組件,直接使用 FormGroupComponent 組件。通過這樣做,我消除了使用其子道具的道具的需要,使代碼更具可讀性(雖然有點(diǎn)冗長)。以下是我所做的更改:
<FormGroupComponent>
<CheckboxAndPicker
checked={showTimeOne}
setCheckbox={setTimeOne}
>
<TimePicker
{...timePickerStyle}
/>
</CheckboxAndPicker>
<CheckboxAndPicker
checked={showTimeTwo}
setChecked={setTimeTwo}
>
<TimePicker
{...timePickerStyle}
/>
</CheckboxAndPicker>
</FormGroupComponent>
我認(rèn)為這是對原始帖子中代碼的改進(jìn),因?yàn)椋?/p>
我們已經(jīng)刪除了對 Form 組件的需求。
我們已經(jīng)消除了通過 Form 組件的子組件進(jìn)行映射并在 Form 組件內(nèi)獲取 Form 組件的子組件的 props 的需要。
我們不再將實(shí)際 TimePicker 組件未使用的新道具附加到 TimePicker 組件。
在我看來,分解出 prop 的子項(xiàng)的用法使這段代碼更加直接。因此我認(rèn)為在父組件中調(diào)用子組件的 props 可能是一種反模式,因?yàn)樗槐匾厥勾a復(fù)雜化。
添加回答
舉報(bào)