使用React将表单值存入数组
P粉092778585
P粉092778585 2023-09-10 19:51:39
[React讨论组]

我在将表单中的值推送到我在屏幕上映射的数组时遇到了一些问题。

const ForumTopic = [
  {
    title: "第一篇帖子",
    messages: "测试",
    author: "Dagger",
    count: 1,
    date: "02/16",
  },
];

const [topic, setTopic] = useState(ForumTopic);

将ForumTopic存储在状态中,以便在点击下面的提交按钮后添加条目并在屏幕上显示。

const addTopic = (e) => {
    e.preventDefault();
    setTopic([...topic, e.target.value]);
  };

  
创建主题标题 编写您的消息

这是我的代码和表单。代码的目的是将表单中每个标签的值推送到topic数组中创建一个新对象。我希望将所有内容存储在一个新对象中,每个标签的id与每个对象的名称(标题、作者、日期等)匹配,但由于某种原因,我只得到了未定义的错误。

P粉092778585
P粉092778585

全部回复(1)
P粉766520991

问题在于你的addTopic函数中:

e.target.value始终为undefined

要访问数据,你需要这样做:

const addTopic = (e) => {
    e.preventDefault()

    const myData = {
        title: e.target.title.value,
        message: e.target.message.value
    }
    
    setTopic(prev => [...prev, myData])        

}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号