Использование AsyncStorage внутри useEffect возвращает неопределенное значение? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть следующее: значение оценки, переданное в 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;

1 Ответ

0 голосов
/ 31 марта 2020

Попробуйте этот код

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;

...