chelkaz
@chelkaz

Как передать данные полученные из Ajax в другой компонент React?

Добрые день друзья.
Е меня есть два компонента, один фильтр. Другой список продуктов (по умолчанию он пустой)
В компоненте фильтр при выборе раздела, Axios Возвращает продукты этого раздела, я из получаю, все ок.
Но как мне передать теперь в другой компонент что бы распарсить? Ведь событие выбора раздела я могу обработать только в фильтре, а это другой компонент.
На странице эти компоненты в разных местах.
Пример фильтра:
import React, { Component } from 'react';
// Тут еще всякие константы и функции
class SearchTree extends React.Component {
    GetCount = (checkedKeys) => {
        axios
            .post('/url', {products: checkedKeys})
            .then(function (response) {
               //вот товары пришли Как мне их передать в другой компонент?
                console.log(response.data)
             
            })
    }

    onCheck = (checkedKeys, info) => {
    //получаем товары раздела
        this.GetCount(checkedKeys)
    }

    render() {       
        return (
            <div>
                // тут список разделов формируется и onCheck на них
            </div>
        );
    }
}
//тут ReactDOM.render


И вот другой компонент где нужно вывести товары полученные выше
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
class AjaxProductList extends React.Component {
    render() {
        return (
            // тут типа UL LI нужно получить товар и вывести списком
        );
    }
}
//тут ReactDOM.render
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Ваш фильтр должен лишь переключать какое-то состояние через колбек или redux action. О существовании каких-либо данных или API он знать ничего не должен.

Варианты решения:
1. Lifting state up
2. Redux или аналоги.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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