Javascript 如何根据对象的修改在对象中显示数字?
如果有必要的话 我试图减少一个数字,并在减少时实时显示它Javascript 如何根据对象的修改在对象中显示数字?,javascript,reactjs,Javascript,Reactjs,如果有必要的话 我试图减少一个数字,并在减少时实时显示它 const counts = {"2200": 1, "2230": 1, "2300": 3} const displayTimes = availableTimes.map((item) => { if (timeExists) { //should show number as it is decreasing, but will only show default, first number
const counts = {"2200": 1, "2230": 1, "2300": 3}
const displayTimes = availableTimes.map((item) => {
if (timeExists) {
//should show number as it is decreasing, but will only show default, first number set
return <span> {counts[`${item.time}`]} </span>
} else {
return (
<li onClick={ () => counts[`${item.time}`] > 1 && counts[`${item.time}`]-- }> //decreases count by 1.
{`${item.time}`}
</li>
)
}
}
return (
<div>
<ul>{displayTimes}</ul>
</div>
)
const counts={“2200”:1,“2230”:1,“2300”:3}
const displayTimes=availableTimes.map((项目)=>{
如果(时间存在){
//应显示递减的数字,但仅显示默认的第一个数字集
返回{counts[`${item.time}`]}
}否则{
返回(
计数[`${item.time}`]>1&&counts[`${item.time}`]-}>//将计数减少1。
{`${item.time}`}
)
}
}
返回(
{displayTimes}
)
递减确实有效,我已经测试过了;以递减的方式显示数字是行不通的
我尝试在此函数内使用useState,但React不允许。我甚至不确定是否需要为此使用useState…渲染/返回的JSX中是否使用了
displayTimes
?组件仅在状态或道具更新时重新渲染。请包含代码示例。@drewrese是的。我已在编辑中包含渲染。我如何升级此处的ate状态/道具?是否计算你的“状态”?如果你共享了完整组件的代码,就很容易看到你的状态以及如何更新它。@drewerese共享了github repo。从此以后将使用你的url来写文章可用时间
(或可用时间JSON
)是一个静态导入的JSON文件。每个渲染周期availableTimes
和counts
都会从该JSON中重置。在我看来,计算要显示的值和同时计算渲染输出的逻辑混淆太多了。据我所见,唯一会触发此组件重新渲染的是en上下文更新的值
。渲染/返回的JSX中是否使用了displayTimes
?组件仅在状态或道具更新时重新渲染。请包含代码示例。@drewrese是的。我已将渲染包含在编辑中。我如何在此处更新状态/道具?是否计数
您的“状态”?如果您共享了一个完整组件的代码,则很容易看到您的状态以及如何更新它。@DrewReese共享了github repo。将使用您的url从这一点开始编写文章availableTimes
(或availableTimesJSON
)是一个静态导入的JSON文件。每个渲染周期availableTimes
和counts
都会从该JSON中重置。在我看来,计算要显示的值和同时计算渲染输出的逻辑混淆太多了。据我所见,唯一会触发此组件重新渲染的是更新上下文的值。