我通过yarn安装了idb-keyval我使用
import { set } from 'idb-keyval';
并通过使用设置变量
set('hello', 'world');
如图所示,它工作。可以这么说。该条目进入indexedDB,但它告诉我indexedDB没有定义。是的,我已经重新启动了dev服务器。
juud5qan1#
我建议你在useEffect中编码set。对我的案子有用的人我在下面添加了测试代码。
useEffect
set
import { set, get } from 'idb-keyval'; import { useEffect, useState } from 'react'; export default function Main() { const [member, setMember] = useState([]); const [member2, setMember2] = useState([]); useEffect(() => { set('member', { "spec": [ { name: 'bar', age: 20 }, { name: 'dall', age: 32 }, { name: 'hong', age: 47 }, ], "spec2": [ { name: 'bar2', age: 20 }, { name: 'dall2', age: 32 }, { name: 'hong2', age: 47 }, ], }).then(() => { get('member').then(user => { setMember(user.spec) setMember2(user.spec2) }); }); }, []); return ( <div> <h1>IdbTest</h1> {member.map((item, index) => { return <div key={index}> <p>{item.name}</p> <p>{item.age}</p> </div> })} {member2.map((item, index) => { return <div key={index}> <p>{item.name}</p> <p>{item.age}</p> </div> })} </div> ) }
1条答案
按热度按时间juud5qan1#
我建议你在
useEffect
中编码set
。对我的案子有用的人我在下面添加了测试代码。