HistoryART
@HistoryART
Надзиратель

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

Добрый день. Скажите пожалуйста, как я могу прекратить проверку состояния? У меня меню многоуровневое и при попытке открыть его - пункты ниже 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} />
    )


Спасибо.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@abberati
frontend-разработчик
useEffect(() => {
    getMenu();
}, []);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы