javascript - 在不标记 DOM 的情况下获取 id 的值
问题描述
我正在制作一个待办事项列表应用程序,为此我想在不标记 DOM( document.getElementById().value;
) 的情况下获取 id 的值,因为我听说 jsx 不支持它。我也使用过event.target.value
,但这不起作用,因为不推荐使用事件!
function listItems(taskName) {
const tasks = [];
tasks.push(taskName);
console.log("Added " + taskName + " to the array!");
}
function CreateArea() {
return (
<div className="mainbox">
<div className="inputdiv">
<input type="text" placeholder="Enter Task..." className="textbox" id="taskName"/>
<button className="button" onClick={}>+</button>
</div>
</div>
);
}
附言
我也使用了箭头函数,但是我想不出没有 DOM 来标记 id 的方法。
谢谢!
解决方案
有很多方法可以做这种事情,但我认为你想要的是钩子useRef
。
在这种情况下,ref
是一个在渲染后指向输入元素的对象。然后,您可以在组件的其他功能中使用该 ref。
例如:
function CreateArea() {
const inputRef = useRef()
function onClick() {
listItems(listItemsinputRef.current.value)
}
return (
<div className="mainbox">
<div className="inputdiv">
<input
type="text"
ref={inputRef} // tell the input element to use this ref.
placeholder="Enter Task..."
className="textbox"
id="taskName"
/>
<button className="button" onClick={onClick}>+</button>
</div>
</div>
);
}
推荐阅读
- python - 困惑为什么这不会产生斜率 1 和角度 45 的直线
- flutter - Flutter、Revenuecat这个版本的app没有配置通过google play计费
- flutter - 如何撤消在 Flutter 中使用 Provider 删除 ListView 中的 Dismissable 项目
- python - 我的变量在 if 语句中被调用以测试它是否为真,但是我在赋值之前得到了局部变量“runningverify”的引用?
- postgresql - 通过函数调用的 Postgres 超越索引使用
- spring - 带有 Spring Boot 2.4+ 配置的 Spring Cloud Vault 无法按预期工作
- php - JS文件总是显示在屏幕上,登录后
- android - Firebase on flutter:任务':firebase_core:generateDebugRFile'的执行失败
- laravel - Laravel echo-server socket.io 连接在 docker 上被拒绝
- python - Python 在网站的某些页面上请求 403 错误