Ant-design: Form setFieldsValueメソッドのパラメーターは何ですか。オブジェクトを渡すと、componentWillReceivePropsで実行がクラッシュします。

作成日 2016年09月09日  ·  16コメント  ·  ソース: ant-design/ant-design

  • antdバージョン:1.11.0
  • オペレーティングシステムとそのバージョン:MAC10.11.6メモリ16GCPU i7
  • ブラウザとそのバージョン:CHROME

編集ボタンをクリックして、フォームに既存のデータを入力します。

ボタンがクリックされると、更新状態は編集状態になります。
componentWillReceivePropsでsetFieldsValueメソッドを呼び出します。約1分後、フォームに記入されます。
次に、任意の入力をクリックして、約1分間待ち続けます。

最も参考になるコメント

このフォームは非常に使いにくく、パッケージング後に使用するコストが高すぎます。

全てのコメント16件

setFieldsValueの本質は、外部ラッパーのsetStateを呼び出し、間接的にcomponentWillReceivePropsを呼び出すことであるため、無限ループになります。

mapPropsToFields http://ant.design/components/form/#Form.create (オプション)を使用してください

@benjycuiありがとう

mapPropsToFieldsは、小道具を対応する値に変換します。これを使用して、Reduxストアの値を読み取ることができます。
Function(props):Object {fieldName:Object {value}}
mapPropsToFieldsにどのように書きたいのかわかりません

こんにちは、この会話を翻訳する方法はありますか?

@bnlambertあなたの質問は何ですか

setFieldsValueで初期値を設定する方法を知りたいです。

また、私のデートピッカーカレンダーは中国語で表示されています。 どうすれば修正できますか?

moment.locale('en');を試すことができます

https://ant.design/components/date-picker/ doc

'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:」と反応した9人の皆さんへ:あなたは明らかにバイリンガルです。コンテンツをGoogle翻訳し、必要に応じて言語スキルのおかげで翻訳を調整し、代わりにここにコンテンツを貼り付けてください。

それは言われています:

  1. OPは問題を説明しています。 componentWillReceivedProps setFieldsValueを呼び出すと、ループが発生し、最終的に1分後に停止します。 フィールドを変更するたびに、新しい「無限」ループが発生します。
  2. メンテナは、 setFieldsValueがHOCのthis.setStateにつながると答えたので、小道具を変更し、 componentWillReceivePropsメソッドを直接呼び出します。 そのため、ループがあります。 mapPropsToFieldsを使用する必要があります。
  3. OPはメンテナに感謝します
  4. 他の(未回答の)質問があります。 mapPropsToFieldsはストアからデータを読み取るために使用されますが、どうすれば書き込むことができますか?

このフォームは非常に使いにくく、パッケージング後に使用するコストが高すぎます。

mapPropsToFieldsとアップロードの競合アップロードはフォームをリセットします

このページは役に立ちましたか?
0 / 5 - 0 評価