ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ,
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ setFieldsValue Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ componentWillReceiveProps. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΌΠΈΠ½ΡΡΡ ΡΠΎΡΠΌΠ° Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
ΠΠ°ΡΠ΅ΠΌ Ρ Π½Π°ΠΆΠΈΠΌΠ°Ρ Π½Π° Π»ΡΠ±ΠΎΠΉ Π²Ρ
ΠΎΠ΄ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΠΆΠ΄Π°ΡΡ ΠΎΠΊΠΎΠ»ΠΎ 1 ΠΌΠΈΠ½ΡΡΡ.
Π‘ΡΡΡ setFieldsValue
Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΡΠ·ΠΎΠ²Π΅ setState
Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ componentWillReceiveProps
, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ».
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ mapPropsToFields
http://ant.design/components/form/#Form.create (Π²Π°ΡΠΈΠ°Π½ΡΡ)
@benjycui ΡΠΏΠ°ΡΠΈΠ±ΠΎ
mapPropsToFields ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Redux.
Π€ΡΠ½ΠΊΡΠΈΡ (ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡ): ΠΠ±ΡΠ΅ΠΊΡ {ΠΈΠΌΡ_ΠΏΠΎΠ»Ρ: ΠΠ±ΡΠ΅ΠΊΡ {Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅}}
Π― Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΊΠ°ΠΊ Ρ Ρ
ΠΎΡΡ ΠΏΠΈΡΠ°ΡΡ Π² mapPropsToFields
ΠΡΠΈΠ²Π΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅?
@bnlambert ΠΠ°ΠΊΠΎΠΉ Ρ ΡΠ΅Π±Ρ Π²ΠΎΠΏΡΠΎΡ
Π― Ρ
ΠΎΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ setFieldsValue
.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΉ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ Π²ΡΠ±ΠΎΡΠ° Π΄Π°ΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅; ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ?
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ moment.locale('en');
ΠΠ½Π΅ Π½ΡΠΆΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ· 'antd' ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ?.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π±ΡΠ΄ΡΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΡΠΌ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
ΠΠ° Π²Π°ΡΠ΅ΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ setFieldsValue.
please don't use it in componentWillReceiveProps, otherwise, it will cause an endless loop, more)
ΠΠ½ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
@coljung ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ Google.
@bnlambert @coljung ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Chrome, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ -> ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
Π― ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π±ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ/Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΌΠΈ, Π½ΠΎ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΡΠ°ΡΡΡΡΒ», ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π·Π΄Π΅ΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
@benjycui IMO Β«ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ GoogleΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ ΠΈ Π½Π°ΡΡΡΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π² CODE_OF_CONDUCT.md
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΠΊΠ»ΡΠ·ΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°
- Π£Π²Π°ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ Π·ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΡΡΡ
- ΠΡΠ°ΠΌΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΡ ΠΊΡΠΈΡΠΈΠΊΡ
- Π‘ΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π½ΠΎΡΡΡ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°
- ΠΡΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ²ΡΡΠ²ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°
ΠΠ΅Π²ΡΡΠΈ Π»ΡΠ΄ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ ":smile:": Π²Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° Π΄Π²ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π±Ρ, ΡΡΠΎΠ±Ρ Google ΠΏΠ΅ΡΠ΅Π²Π΅Π» ΠΊΠΎΠ½ΡΠ΅Π½Ρ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²Π°ΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠ²ΡΠΌ Π½Π°Π²ΡΠΊΠ°ΠΌ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°Π²ΠΈΠ» ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΡΠ΄Π°?
Π§ΡΠΎ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ:
setFieldsValue
Π² componentWillReceivedProps
Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· 1 ΠΌΠΈΠ½ΡΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ Β«Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉΒ» ΡΠΈΠΊΠ».setFieldsValue
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ this.setState
Π² HOC, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΠ·ΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° componentWillReceiveProps
. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π΅ΡΡΡ ΠΏΠ΅ΡΠ»Ρ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ mapPropsToFields
.mapPropsToFields
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½Π΅Π³ΠΎ?ΠΡΠ° ΡΠΎΡΠΌΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π° ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠ°.
mapPropsToFields ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ±ΡΠΎΡΡ ΡΠΎΡΠΌΡ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠ° ΡΠΎΡΠΌΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π° ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠ°.