React - API Call для установки переменных состояния нескольких элементов (лучшие альтернативы) - PullRequest
0 голосов
/ 20 декабря 2018

Я учусь реагировать, и во время этого процесса я пытался установить несколько переменных состояния внутри одного useEffect хука.Я просто хотел знать, является ли мой подход правильным способом установки нескольких переменных состояния.Пожалуйста, посмотрите и совет, если есть лучший подход.

    import React, { useState, useEffect } from 'react';
    import axios from 'axios';

    const App = () => {
        const reqUrl = 'https://hn.algolia.com/api/v1/search?query=redux'
        const initialStateValue = [{ id: 0, value: ' --- Select A State --- ' }];

        const [initialJsonData, setInitialJsonData] = useState({ hits: [] });
        const [tagTypes, setTagTypes] = useState([]);
        const [stateSelected, setStateSelected] = useState(initialStateValue[0].value);


        useEffect(() => {
            axios(reqUrl).then(result => {
                const tagTypeLocal = { ...result.data.hits[0] }
                setTagTypes(tagTypeLocal._tags) --> setting the state variable tagTypes
                console.log(tagTypeLocal._tags)
                setInitialJsonData(result.data) --> setting the state variable initialJsonData
            })

        }, [])

1 Ответ

0 голосов
/ 17 января 2019

Да, это приемлемая реализация для обновления нескольких элементов состояния с помощью хука useEffect.

И чтобы ответить на один из комментариев к вашему вопросу, более чем удобно использовать несколько переменных состояния какони могут обновляться в разное время, как указано в CodeSandbox, который вы связали.На самом деле этот подход рекомендуется в React документах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...