【发布时间】:2021-12-04 08:52:00
【问题描述】:
我将在 bmi 计算项目中输入的值作为对象保存在 localStorage^ 中。我在尝试查看它时遇到了问题。我有一个错误,即“无法读取 null 的属性(读取 'DaTe')”。我能做什么?
这是我声明的值:
function storeData() {
var today = new Date();
var date = (today.getMonth()+1)+'-'+today.getDate()+'-'+today.getFullYear();
let formData = JSON.parse(localStorage.getItem('formData')) || [];
formData.push({
DaTe : date,
resultBmi: bmiResult,
Name: values.name,
});
localStorage.setItem('formData', JSON.stringify(formData));
}
useEffect(()=>{
storeData();
},[bmiResult])
Calculations.js:
function Calculations() {
return (
<div className="calc-page" >
<h2>CALCULATIONS</h2>
<table id="records">
<tbody>
<tr>
<th>Date</th>
<th>Name</th>
<th>BMI</th>
</tr>
{(localStorage.getItem("formData")) && JSON.parse(localStorage.getItem("formData")).map(data=>{
<tr>
<td>{data.DaTe}</td>
<td>{data.Name}</td>
<td>{data.resultBmi}</td>
</tr>
})}
</tbody>
</table>
<button className="btn-clear">Clear</button>
</div>
);
}
【问题讨论】:
-
请按照minimal reproducible example 提供更多调试详细信息,包括确切存储的内容和当前发生的情况(包括错误状态)。如果没有更多细节,我们只能猜测各种可能的问题
标签: javascript reactjs components local-storage rendering