reactjs - 不渲染项目 React useState
问题描述
我想添加新任务,但它们没有呈现,这是我的代码的这一部分:
setItemsFromBackend([...itemsFromBackend, {id: uuidv4(), content: text }]);
setText("")
}
const [itemsFromBackend, setItemsFromBackend] = useState([{ id: uuidv4(), content: "First task" }]);
const [text, setText] = useState("");
const columnsFromBackend = {
[uuidv4()]: {
name: "Requested",
items: itemsFromBackend,
},
[uuidv4()]: {
name: "To do",
items: [],
},
[uuidv4()]: {
name: "In Progress",
items: [],
},
[uuidv4()]: {
name: "Done",
items: [],
},
};
<div>
<input type="text" value={text} onChange={(e) => setText(e.target.value)}/>
<button onClick={addItem}>Add</button>
</div>
这是代码沙箱中的完整项目:
https://codesandbox.io/s/trello-task-yhbmu?file=/src/Kanban.jsx
任何帮助将不胜感激。谢谢!
解决方案
setItemsFromBackend({ ...itemsFromBackend, id: uuidv4(), content: text });
itemsFromBackend
是一个数组,所以你在错误的地方传播。尝试这个:
setItemsFromBackend([...itemsFromBackend, {id: uuidv4(), content: text }]);
推荐阅读
- ruby - 使用 ruby 按名称和分数对记分牌进行排序
- javascript - 如何处理在两个日期之间进行验证的错误?
- javascript - 将 Laravel 数据传递给 Vue 组件
- android - 找不到方法 'com.android.tools.r8.Version.getVersionString()Ljava/lang/String;'
- spring - Grails 3.3.10 urlmapping 不再起作用
- javascript - 我在创建迁移时遇到了这个问题
- next.js - 可以全局获取 next.js 请求对象吗?
- ms-access - 如何获得组合框选择以用数据填充相关字段
- php - php中的会话数组问题
- android - 无法在 com.android.builder.core.AndroidBuilder.processResources