首页 > 解决方案 > 在 useEffect 中使用 AsyncStorage 返回未定义?

问题描述

我有以下内容:在 const col 中传递的分数值未定义。我是 React 的新手。

    const scores: React.FC<{styles: Styles;}> = ({ styles }) => {
        const [score, setScore] = useState();    
         useEffect(() => {
                        async function retrieveData() {
                            const value = await AsyncStorage.getItem('score');
                            const data = JSON.parse(value);
                            setScore(data.First);
                        }
                        retrieveData();
                    });

const col: columnType[] = getScoreMetrics(status, score);
return (<BC styles={styles} col={col} />);
export default scores;

标签: reactjsreact-nativeasyncstorageuse-effect

解决方案


试试这个代码

const scores: React.FC<{styles: Styles;}> = ({ styles }) => {
        const [score, setScore] = useState();    
         useEffect(async() => {
                        async function retrieveData() {
                            const value = await AsyncStorage.getItem('score');
                            const data = await JSON.parse(value);
                            setScore(data.First);
                        }
                        retrieveData();
                    },[]);

const col: columnType[] = getScoreMetrics(status, score);
return (<BC styles={styles} col={col} />);
export default scores;


推荐阅读