javascript - 如何将反应 js 标题标题设置为数组的元素?
问题描述
所以我目前在我的 react js 网站中有一个标题组件,我想将它的标题设置为数组的一个元素,但我似乎无法弄清楚如何。这是我的代码
import Header from './components/Header';
var shoppinglist = []
var currentitem = ""
const App = () => {
function getData(val){
console.warn(val.target.value)
currentitem = val.target.value;
}
function logData() {
shoppinglist.push(currentitem)
console.log(shoppinglist)
}
function deleteItem() {
shoppinglist.pop()
console.log(shoppinglist)
console.log(shoppinglist[0])
}
return (
<div className="Container">
<Header title = "grocery list" />
<input type="text" onChange={getData}></input>
<button onClick={logData}>add item to list</button>
<button onClick={deleteItem}>delete item</button>
<div className="listItems">
<Header title = {shoppinglist[0]} />
</div>
</div>
);
}
export default App;
我如何将标题标题设置为购物清单 [0]?
解决方案
如果您想在反应中使用动态组件,则必须使用状态变量。Else React 不会重新渲染你的代码。使用 React Hooks 可能看起来像这样:
import Header from './components/Header';
var currentitem = ""
const App = () => {
const [shoppinglist, setShoppinglist] = useState([]);
function getData(val){
console.warn(val.target.value)
currentitem = val.target.value;
}
function addItem() {
shoppinglist.push(currentitem)
setShoppinglist([...shoppinglist])
}
function deleteItem() {
shoppinglist.pop()
setShoppinglist([...shoppinglist])
}
return (
<div className="Container">
<Header title = "grocery list" />
<input type="text" onChange={getData}></input>
<button onClick={addItem}>add item to list</button>
<button onClick={deleteItem}>delete item</button>
<div className="listItems">
<Header title = {shoppinglist[0]} />
</div>
</div>
);
}
export default App;
推荐阅读
- java - mvn test 返回 0 个测试运行
- r - 在边距中绘制任意线,带有多个面板的 R 绘图
- python-3.x - 如何将时间转换为DataFrame Python中的相应槽
- sql - 案例表达式中的舍入
- javascript - GitHub Pages 网站中有没有办法在会话之间存储文本框的内容?
- kubernetes - Rook ceph 未部署
- batch-file - 如何在批处理文件中替换等号?
- python - 调用另一个函数时调用函数
- python - 使用带有元组插入的 SQL LIKE 运算符
- javascript - react-abc:iOS 设备上的 MIDI 播放有几个问题(缺少音符、速度不一致、不需要的延音)