Призывать компонент с envento onClick Реакт Оокс?

Мне нужно компонент, который, кликнуть в кнопку, был бы должен звонить в другой компонент. В функции я распределяю ему стоимость как boletoElegido, где - id (auque, если я использую props.deberia мочь возвращать целый объект)

Это исходный код компонента, который приказывает называть нового.

import React, { Fragment, useState} from 'react';
import BoletoDetalles from './BoletosDetalles';

function SeleccionBoleto({boletos})
{
    const [boletoElegido, guardarBoletoElegido] = useState();

    const seleccionarBoleto = e => {
        guardarBoletoElegido(e.target.value);
    }

    const enviarBoletoElegido = () =>{
        return <BoletoDetalles boletoElegido = {boletoElegido}/>;
    }


    return(
        <Fragment>
            <p>Seleccion de ticket a evaluar</p>
            <form>
                <select onChange={seleccionarBoleto}>
                    <option value=""> Seleccione el ticket a evaluar</option>
                    {
                        boletos.map(boleto =>(
                            <option key={boleto.id} value={boleto.id}>{boleto.id}</option>
                        ))
                    }
                </select>

                <div>
                    <button type="reset" id="btn_limpiar" className="btn btn-danger col-sm-6">Limpiar</button>
                    <button type="button" className="btn btn-info col-sm-6"
                        onClick={enviarBoletoElegido}
                    >Buscar</button>
                </div>
            </form>
        </Fragment>
    )
}

export default SeleccionBoleto;

В моем onClick, я использую функцию, которая возвращает компонент, но это не загружает в DOM.

Контент другого компонента пока - текст доказательства, чтобы подтверждать, функционирует ли груз нового компонента.

0
задан 05.11.2019, 02:26
1 ответ

Ты считал использовать react-router? Он был бы выбором. Другой выбор состоял бы в том, чтобы у тебя были оба компонента внутри твоего Fragment, но компонент, который ты хочешь, чтобы он появился, дав click, был бы скрытым завися state, такой увидь

const [visibilidad, setVisibilidad] = useState(false)

и дав click вместо того, чтобы стараться показывать одинокий componentet, ты меняешь state, в твоем Fragment ты санкционируешь, которого, если state видимость - true, ты показываешь компонент.

{visibilidad ? <Component />: null}
0
ответ дан 01.12.2019, 12:46
  • 1
    Если, хотя он думал использовать это в другой части aplicació n, я это делаю, чтобы санкционировать informació n, и что не терялся пользователь. Тройной оператор функционирует, если их 2, но aquí они má s 2, поэтому лучше separé эта ló gica перед return в переменной и этой переменной он загружается как компонент в начало app.js – Kuroi 07.11.2019, 21:20