@nano_e_t_4

Как передать ответ в другой компонент?

Всем привет

На фронте почти никогда не писал ничего, так что не судите строго, только учусь

есть компонент, кнопка, через которую я получаю данные с сервера:

const baseURL = "http://localhost:4000/test";
import React from 'react';
import axios from 'axios';
import ImageComponent from "./imageComponent";

class ButtonComponent extends React.Component {

    constructor(props){
        super(props);
        this.state = {
            lalka: '',
            isLoading: false,
        };
        this.click = this.click.bind(this);
    }

    click() {

        this.setState({ isLoading: true });

        axios.get(baseURL, )
            .then((response) => {
                this.setState({ lalka : response.data });
            })
            .catch((err) => {
                console.log(err);
            });
    }

    render() {
        return  (
            <div>
                <button onClick={this.click} > click me </button>
            </div>
        );
    }
}

export default ButtonComponent;


ответ, который приходит с сервера мне нужно отображть в другом компоненте

import React, { Component } from 'react';

class ImageComponent extends Component {
    render() {
        return (
            <React.Fragment>
                <p>{this.props.data}</p>
            </React.Fragment>
        );
    }
}

export default ImageComponent;


подскажите пожалуйста, кто знает, как это сделать?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
@xareyli
Пусть кнопка в props принимает callback, который она будет вызывать, когда данные получены и будет в аргументы передавать эти данные. Callback нужно создать в том компоненте, в котором хочешь получить данные и в этом callback устанавливать состояние с данными
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы