javascript - React/JS 如何将特定的映射元素分配给状态?
问题描述
我的搜索组件根据输入返回一个映射的结果列表。根据单击的列表元素,我想将其分配给我当前的库存状态,但我不确定如何访问该特定元素。
const selectStock = ()=>{
setSearch("");
setCurrentStock();
}
return (
<div className="searchContainer">
<form className="searchBar">
<input
className="search"
type="text"
placeholder="Search Ticker Symbol"
onChange={handleSearch}
/>
</form>
<div className="searchResults">
<ul>
{/* {stockNames.map((stockname) => {
const { name, symbol} = stockname;
return (
<li className="displaySearch" onClick={selectStock} key={symbol}>
<p>{name} ({symbol})</p>
</li>
);
})} */}
</ul>
</div>
</div>
);
}
解决方案
您可以通过将selectedStock设置为 ES6 函数将其传递给 selectStock 函数。
见下文:
const selectStock = (selectedStock)=>{
setSearch("");
setCurrentStock(selectedStock);
}
return (
<div className="searchContainer">
<form className="searchBar">
<input
className="search"
type="text"
placeholder="Search Ticker Symbol"
onChange={handleSearch}
/>
</form>
<div className="searchResults">
<ul>
{/* {stockNames.map((stockname) => {
const { name, symbol} = stockname;
return (
<li className="displaySearch" onClick={()=>selectStock(stockName)} key={symbol}>
<p>{name} ({symbol})</p>
</li>
);
})} */}
</ul>
</div>
</div>
);
如果需要,您可以以类似的方式传递其他变量。
推荐阅读
- javascript - Google Chart vAxis 值未显示
- android - 在 webview android 中加载 URL 的问题
- xml - how to extract the child element from nested tags using xslt
- python - 在python中通过正则表达式匹配Popen输出
- spring-boot - 并发请求的Spring Websocket堆空间错误
- azure - 在 Azure 数据工厂的复制任务中确定最佳写入批量大小
- anypoint-studio - 无法在 Munit 中设置事件
- node.js - 为从 nodeJS 获取的每一行数据发送 Promise 到客户端
- excel - Excel VBA脚本循环无法正常工作
- javascript - jQuery nav-tab onclick 功能不起作用