1 回答

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