Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t在文本区域中键入文本时';s值属性已设置-反应_Javascript_Reactjs_Dom_Textarea - Fatal编程技术网

Javascript Can';t在文本区域中键入文本时';s值属性已设置-反应

Javascript Can';t在文本区域中键入文本时';s值属性已设置-反应,javascript,reactjs,dom,textarea,Javascript,Reactjs,Dom,Textarea,我正在为一个大学项目写一个日记应用程序,请感谢我不能上传太多代码,因为学校有严格的剽窃规则和运行检查等 我将用以下几点来解释这个问题: 用户在文本区域中输入日记条目 如果他们单击“保存”按钮或文本区域之外的任何位置,文本将被保存 文本通过触发redux操作保存,该操作向更新日志的节点发出axios请求 reduxreducer设置日记账的新状态,现在我可以使用journal.data.entries 我现在有了一个displayEntry函数,它检查条目的日期,并将条目内容加载到日记账中的匹配

我正在为一个大学项目写一个日记应用程序,请感谢我不能上传太多代码,因为学校有严格的剽窃规则和运行检查等

我将用以下几点来解释这个问题:

  • 用户在文本区域中输入日记条目
  • 如果他们单击“保存”按钮或文本区域之外的任何位置,文本将被保存
  • 文本通过触发
    redux
    操作保存,该操作向更新日志的
    节点发出
    axios
    请求
  • redux
    reducer设置日记账的新状态,现在我可以使用
    journal.data.entries
  • 我现在有了一个
    displayEntry
    函数,它检查条目的日期,并将条目内容加载到日记账中的匹配日期中。这很好,正确的数据在正确的日期加载
  • 问题-我正在将textarea
    属性设置为此函数的返回值,即
    条目.内容
    (如果存在)或
    (如果不存在)。当在文本区域设置了
    value
    时,我无法再在其中键入内容来更新当天的内容或在另一天添加新条目。删除value属性允许我再次键入它
displayEntry()函数:

displayEntry() {
    const { todaysDate } = this.state;
    const { journal } = this.props;
    if (journal) {
        for (let entry of journal.data.entries) {
            if (entry.date === todaysDate) {
                return entry.content;
            }
        }
        return "";
    }
    return "";
} 

谢谢你的帮助。如果需要更多信息,我会尽力提供

在没有看到完整示例的情况下,无法对您的特定用例进行评论,但是当您在react中的输入上设置
道具时,它将成为一个受控组件。您需要连接到文本区域的
onChange
处理程序,以捕获用户输入并将其存储在中间状态或其他状态,然后将其传递回
道具。您刚刚帮助我准确地了解了我做错了什么。我使用onChange处理输入并将值存储在state中,然后尝试使用函数的返回值覆盖它。当我打字时,这显然会引起冲突。非常感谢,我会回去看看如何修复它!