Как передать данные из useParams в другую функцию?

Я использую перехватчики useParams для получения id URL-адреса. В компоненте AppMessageItems я получаю id, но как я могу отправить эти данные в функцию getMessages для отправки в endpoint. Но когда я пытаюсь получить id параметра в функции getMessages, реагирует на ошибку при использовании хуков (invalid using hooks).

const AppMessageItems = ( {messages, getMessages} ) => {

        let { id } = useParams();

        console.log(id) // 123

        useEffect( () => {
            const setUserMessageDataToLocalStorage = localStorage.getItem('token');
            getMessages(setUserMessageDataToLocalStorage)
        }, []);

            return (
                <Container>
                        <TabPanelContainer>
                            <TabPanelHeader/>
                            <TabPanelBody />
                            <TabPanelFooter/>
                        </TabPanelContainer>
                </Container>
            )
    };


    const getMessages = (token) => async (dispatch) => {

       // test data
        const all = {
            pass: 'Hello World',
        };

        try {
            const getMessages = await axios.post(API.getUserMessages, {}, {headers: {"Authorization": 'Bearer ' + token}})
            .then(res => res.data);

            dispatch(getMessagesDispatch(all));
        } catch (err) {
            console.log("Error GET_MESSAGES");
        }
    };
  • Вопрос задан
  • 248 просмотров
Решения вопроса 1
@abberati
frontend-разработчик
Вторым параметром id передавайте
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 13:10
400000 руб./за проект
24 апр. 2024, в 13:01
5000 руб./за проект
24 апр. 2024, в 13:00
3000 руб./за проект