Задать вопрос
@Haaaaz

Как вызвать компонент в функции?

Есть компонент Hi
import React from 'react';

const Hi = () => {
    return (
        <div>
            <h1>hi</h1>
        </div>
    );
};

export default Hi;

Есть компонент Main, в котором я хочу по нажатию на кнопку вызывать функцию, которая будет отображать компонент.
import React from 'react';
import Hi from './Hi'

function display(){
    return <Hi/>
}

const Main = () => {
    return (
        <div>
            <button onClick={display}>отобразить</button>
        </div>
    );
};

export default Main;

Но это не работает. Компонент Hi не отображается
  • Вопрос задан
  • 345 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
sasha-hohloma
@sasha-hohloma
Fullstack Developer
Я думаю, что вам нужно поглубже изучить React и его базовые концепции. Особенно, понять как пользоваться стейтом компонента. Иногда документация кажется сильно сухой, поэтому Youtube в помощь)

Фрагмент с правками

import React, { useState } from 'react';
import Hi from './Hi'

function display(){
    return <Hi/>
}

export const Main = () => {
    const [isHiVisible, setHiVisible] = useState(false);
    const onClick = () => {
        setHiVisible((prev) => !prev);
    }
    return (
        <div>
            <button onClick={onClick}>отобразить</button>
            {isHiVisible &&
                <Hi/>
            }
        </div>
    );
};

Ответ написан
Все очень просто
Сначала читаешь вот это
https://reactjs.org/tutorial/tutorial.html
Потом вот это
https://reactjs.org/docs/getting-started.html
А то что сейчас написал, выкидываешь в мусорку и не вспоминаешь.
Ответ написан
Ваш ответ на вопрос

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

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