我目前正在为我的Fronted Reaction应用程序添加创建选项,因为我首先想测试Fronted的工作情况,所以我使用了本地存储来存储我的数据.根据我从本地存储接收的数据长度,我将呈现两个不同的组件(如果长度为零,则一个是另一个).我使用useEffect()钩子来获取数据,并防止出现错误"没有定义本地存储".但是,钩子很慢,如果我将一些数据值添加到本地存储中,则实际呈现第二个组件需要大约5/6秒,并且默认情况下,即使本地存储中的数据长度非零,代码也只呈现第一个组件.
代码部分:
export default function Onboard() {
const [dataValues, setdataValues] = useState('');
const [redFlag, setredFlag] = useState('');
useEffect(() => {
let val;
val = JSON.parse(localStorage.getItem('DataValues') || '[]') || [];
setdataValues(val);
let flag;
flag = dataValues.length;
setredFlag(flag);
}, []);
const [popup, setpopup] = useState(false);
const [SelectedAccess, setSelectedAccess] = useState('All');
return (
<div>
{redFlag == 0 ? <Component1 /> : <Component2 />}
</div>
)}
这只是代码的一小段.默认情况下,代码呈现Component1,即使本地存储中存储了值,并且呈现Component2需要很长的延迟.任何关于这方面的帮助都将不胜感激.