我的代码工作正常,但节点使用此代码警告:
<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>
我收到了错误
If you supply
{默认值{1}}
没关系?或者可能是我做错了什么。我不需要处理器到textarea
答案 0 :(得分:1)
如果您不需要处理value
的更改,那么您可以忽略它,它只是一个警告而不是错误。
话虽如此,为什么你会为此目的使用文本区域?使用<label/>
或任何其他负责只读文本的元素。请记住,从可访问性方面来看,您的方法并不理想,因为屏幕阅读器可能会感到困惑。
修改强>
作为评论的后续内容:
但是,为何使用defaultValue
时出错如果您在
<textarea>
上提供defaultValue,请不要传递子项
你可以通过defaultValue
,但你不能提供孩子(就像在正常的html情况下一样)
取自DOCS:
在HTML中,
<textarea>
元素通过其子元素定义其文本 在React中,<textarea>
使用值属性。