inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

iOS/Android 앱 개발을 위한 실전 React Native - Basic

api 호출관련 질문해도 될까요?

145

HappyJay

작성한 질문수 16

0

여러 탭을 구성하고, 회원 탭을 선택했을때
아래처럼 api 를 통해 데이터를 가져오고자 합니다.
api 를 호출하는 시점에 (call axios) 로그를 찍고
실제 가져온 데이터의 내용을 로그로 찍었는데요
call axios 로그는 한번만 출력됐고, 실제 서버 로그도 한번만 나왔는데
데이터로그의 내용이 총 3번 출력이 됩니다.
1. null
2. api 리턴 데이터
3. 2번과 동일한 api 리턴 데이터
혹시 왜 데이터로그가 3번이나 출력되는지 알 수 있을까요?
let membersIMember[] = []

const urlGetMemberList = 'http://localhost:8080/member/getStudentList'

export const MemberList = ({navigation}) => {
    const [datassetDatas] = useState(null);
    const [loadingsetLoading] = useState(false);
    const [errorsetError] = useState(null);

    useFocusEffect(React.useCallback(() => {
        const fetchDatas = async () => {
            try {
                setError(null);
                setDatas(null);
                setLoading(true);

                console.log("call axios")
                const response = await axios.get(urlGetMemberList);

                setDatas(response.data);
            } catch (eany) {
                setError(e);
            }

            setLoading(false);
        };

        fetchDatas();

    }, []))

    console.log(datas)

    if(datas != null) {
        members = []
        console.log(datas.responseBody.length)
        for(let idx = 0idx < datas.responseBody.lengthidx++) {
            members.push(new Member(idxdatas.responseBody.namedatas.responseBody.phonedatas.responseBody.startDatedatas.responseBody.remainCount))
        }
    }

    const renderItem = (itemIMember=> {

        return (
            <TouchableOpacity
                onPress={() => {
                    Alert.alert(item.name)
                    navigation.navigate('borderScreen')
                }}
            >
                <RenderMember member={item} />
            </TouchableOpacity>
        )
    }


    
    return (
        <SafeAreaView>
            <FlatList data={members}
                renderItem={({item}) => renderItem(item)}
                keyExtractor={(itemindex=> item.id.toString()}
                ItemSeparatorComponent={() => <View style={[styles.itemSeprator]} />}
            />
        </SafeAreaView>
    )
}

react es6 react-native

답변 0

강의 자료 소스코드는 없나요?

0

329

1

RN 자동완성 기능 질문

0

320

1

환경변수 및 SOURCE관련 질문

0

297

1

글로벌로 설치한다는 게 무슨 말인가요? (-g)

0

322

1

VIsual studio code 에서 react-native run-android 실행시 오류

0

863

2

리액트 네이티브에서 안드로이드 실행

0

562

1

vscode

0

408

2

안드로이드 에뮬레이터 에러...

0

967

1

웹뷰앱 만드는 자세한 방법이 궁금합니다.

0

427

0

App.js 화면 수정 시 안드로이드 emulator 오류

0

343

0

2

0

240

1

ios 구동했을 때 Welcome to React가 아니라 애플

0

480

1

1

0

210

0

진행중 막혀서 질문드립니다

0

380

0

drawer 파트

0

290

0

node.js 설치 오류

0

438

0

vs code 터미널에서의 command not found

0

1569

1

node js 10.15.1 설치가 안됩니다

0

306

0

Unable to boot device in current state: Booted 오류 발생하는경우

1

3189

0

adb 커맨드

1

530

1

Slider만 설치하면 애러가 납니다.

0

314

1

bounces 와 버튼 backgroundColor은 안드로이드에서 적용이 안되는건가요?

0

219

0

오류확인 부탁드립니다.

0

310

0

안드로이드 시뮬 작동 중 오류가 납니다.

0

240

0