反应textarea值控制台警告

时间:2017-09-15 12:00:17

标签: reactjs

我的代码工作正常,但节点使用此代码警告:

<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

1 个答案:

答案 0 :(得分:1)

如果您不需要处理value的更改,那么您可以忽略它,它只是一个警告而不是错误。
话虽如此,为什么你会为此目的使用文本区域?使用<label/>或任何其他负责只读文本的元素。请记住,从可访问性方面来看,您的方法并不理想,因为屏幕阅读器可能会感到困惑。

修改
作为评论的后续内容:

  

但是,为何使用defaultValue

时出错      

如果您在<textarea>上提供defaultValue,请不要传递子项

你可以通过defaultValue,但你不能提供孩子(就像在正常的html情况下一样) 取自DOCS

  

在HTML中,<textarea>元素通过其子元素定义其文本   在React中,<textarea>使用值属性。