React useEffect levanta o erro 'criar não é uma função'

Sep 08 2020

Eu tenho o seguinte módulo React Native:

import React, {useContext, useEffect} from 'react';
import {Image, StyleSheet} from 'react-native';
import AsyncStorage from '@react-native-community/async-storage';
import AuthContext from '../context/auth/authContext';

const Intro = () => {
  const getLocalUser = async () => {
    try {
      const value = await AsyncStorage.getItem('user');
      return value;
    } catch (error) {
      console.log(error);
    }
  };
  const localUser = getLocalUser();

  const {setUser} = useContext(AuthContext);
  
  useEffect(() => {
    setUser({localUser});
  }, []);

  return (
    <Image
      style={styles.image}
      source={require('../static/logo_intro.png')}
    />
  );
}

const styles = StyleSheet.create({
  image: {
    width: 430,
    resizeMode: 'center',
    paddingTop: 500
  }
})

export default Intro;

Isso levanta a seguinte erro: [Tue Sep 08 2020 15:00:47.220] ERROR TypeError: create is not a function. (In 'create()', 'create' is undefined).

Eu verifiquei essa questão , mas já estou fazendo.

Respostas

Ozone Sep 08 2020 at 20:46

Pode ser que você precise usar em useStatevez de useEffect.

Ver https://github.com/facebook/react/issues/15194 para saber por que esse erro é mostrado dessa forma.