【发布时间】:2021-09-24 13:51:09
【问题描述】:
我正在处理任务列表页面。主页有一个表单,用户可以在其中添加任务并单击添加任务按钮,相应的任务将附加到“todo-task”div。我正在使用我自己创建的反应元素(例如洗衣服),它返回一个复选框,后跟作为道具传递的文本。在下面的代码中,我试图在我们的 todo-task div 的末尾附加,但它向我显示了一些错误。我的做法对吗?如果不是,我应该采取什么方法?
import React,{useState} from 'react'
import './Tasklist.css'
import Button from 'react-bootstrap/Button';
import AddBoxIcon from '@material-ui/icons/AddBox';
import Checkbox from '@material-ui/core/Checkbox';
import Task from './Task.js';
function Tasklist() {
const [task, settask] = useState("")
let pendingTask = document.getElementById('pending-task')
let doneTask = document.getElementById('done-task')
const addTask = (event)=>{
event.preventDefault()
let tmp_text=task.trim()
if(tmp_text==="")return
let task_tmp = document.createElement(<Task text={tmp_text} />);
pendingTask.appendChild(task_tmp);
settask("");
}
const keyDownEvent=(e)=>{
let key=e.key
if(key==='Enter' && !e.shiftKey)addTask(e);
}
return (
<>
<div className="add-task">
<form >
<textarea
type="text"
value={task}
rows={1}
placeholder="Add Task"
onChange={(e)=>settask(e.target.value)}
onKeyDown={keyDownEvent}
/>
<Button variant="outline-primary" onClick={addTask}>
<AddBoxIcon /> Add Task
</Button>
</form>
</div>
<div className="todo-task" id="pending-task">
</div>
<Task text="Enjjoyyyy!!!" />
<hr />
<div className="done-task" id = "done-task">
<ul id="done-task-list">
</ul>
</div>
</>
)
}
export default Tasklist
【问题讨论】:
-
显示什么错误?
-
您在下面得到了另一个很好的答案,但它实际上与昨天对同一问题的答案相同:How to add our own react element?。还有什么不清楚的地方吗?
标签: javascript html css node.js reactjs