Задать вопрос
@historydev
long long long long long .... int

Как получить состояние один раз без последующих обновлений?

Добрый день. Скажите пожалуйста, как я могу прекратить проверку состояния? У меня меню многоуровневое и при попытке открыть его - пункты ниже 2-го уровня словить не реально, какие выходы у меня есть?

let [nav, setNav] = useState([]);

    const getMenu = async() => {

        let menu = await fetch('http://localhost:4000/menu', {method: 'post'});
        menu = await menu.json();

        return setNav(menu)

    };

    const UseMenu = ({element}) => element.map(el => (
        <ul className='select'>
            <li> {el.title} </li>
            <div className="selectContent">
                <li onClick={selectItem}>
                    <ul className='select'>
                        <li> {el.title} </li>
                        <div className="selectContent">
                            {el.children ? (<UseMenu element={el.children} />) : ''}
                        </div>
                    </ul>
                </li>
            </div>
        </ul>
    ));

    useEffect(() => {
        getMenu();
    });

    return (
                            <UseMenu element={nav} />
    )


Спасибо.
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@abberati
frontend-разработчик
useEffect(() => {
    getMenu();
}, []);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽