2017-09-15 7 views
1

私のコードは正常に動作しているが、ノードは、このコードを警告している:はTEXTAREA値のコンソール警告を反応

<div id="info"> 
     <p> User:<b> {show.firstName} {show.lastName} </b></p> 
     <textarea value={show.description}> </textarea> 
     <p> Adress:<b> {show.address.streetAddress} </b></p> 
</div> 

警告:

proxyConsole.js:56 Warning: Failed form propType: 
You provided a `value` prop to a form field without an `onChange` handler. 
This will render a read-only field. If the field should be mutable use `defaultValue`. 
Otherwise, set either `onChange` or `readOnly`. Check the render method of `Details` 

私が変更された場合
<textarea value={show.description}> </textarea>

<textarea defaultValue={show.description}> </textarea>

<textarea> {show.description}</textarea>

または

iはエラー

If you supplyはdefaultValue on a <textarea>, do not pass children

それは大丈夫ですか?または、私は何か間違っているかもしれません。私はテキストエリアへのハンドラは必要ありません

答えて

1

valueの変更を処理する必要がない場合、無視することができます。エラーではなく警告です。
そういう意味で、なぜこの目的のためにテキストエリアを使用しますか? <label/>または読み取り専用テキストを担当するその他の要素を使用してください。アクセシビリティ面では、スクリーンリーダーが混乱する可能性があるため、アプローチは理想的ではないことに注意してください。

あなたのコメントへのフォローアップとして、EDIT

しかし、はdefaultValue

を使用するときに<textarea>にはdefaultValueを指定した場合、なぜとの誤差は、子どもたちに

を渡しません

defaultValueを渡すことはできますが、通常のhtmlのように子を指定することはできません。
DOCSから撮影:

HTMLで

<textarea>要素はその子によって、そのテキストを定義
で反応し、<textarea>は、代わりにvalue属性を使用しています。

+0

はい、私は知っていますが、それはタスクによって要求されます – Redair

+0

しかし、なぜdefaultValueを使用するとエラー? – Redair

関連する問題