Reactjs 从具有3个对象的组件从子级传递到父级

Reactjs 从具有3个对象的组件从子级传递到父级,reactjs,Reactjs,我有一个组件,有两个按钮和一个输入文本。按钮1将项目减少,按钮2将项目增加为输入。当我减少/增加一个项目时,我需要从输入中获取值。减少/增加是可行的,但我无法(我不知道如何)获得父组件中的值。 这是我的子组件,名为ChooseQuantity: import React, { Component } from 'react'; import './ChooseQuantity.css'; class ChooseQuantity extends Component{ construct

我有一个组件,有两个按钮和一个输入文本。按钮1将项目减少,按钮2将项目增加为输入。当我减少/增加一个项目时,我需要从输入中获取值。减少/增加是可行的,但我无法(我不知道如何)获得父组件中的值。 这是我的子组件,名为ChooseQuantity:

import React, { Component } from 'react';
import './ChooseQuantity.css';

class ChooseQuantity extends Component{
    constructor(props){
        super(props);
    }
    state = {
        qtd: 0,
    }
    addItem(){
        this.setState({qtd: this.state.qtd + 1 });
    }
    removeItem(){
        if(this.state.qtd > 0){
            this.setState({qtd: this.state.qtd - 1 });
        }
    }
    render() {
        return(
            <div>
                <button className="minus" onClick={() => this.removeItem()}>
                    <i className="fas fa-minus"></i>
                </button>
                <input className="qtd" type="text" value={this.state.qtd} name='qtd' onChange={this.props.action} onInput={(e) => this.setState({ choose_quantity: e.target.value })} readOnly />
                <button className='plus' onClick={() => this.addItem()} >
                    <i className="fas fa-plus"></i>
                </button>
            </div>
        )
    }
}

export default ChooseQuantity;
import React,{Component}来自'React';
导入“/ChooseQuantity.css”;
类ChooseQuantity扩展组件{
建造师(道具){
超级(道具);
}
状态={
qtd:0,
}
附加项(){
this.setState({qtd:this.state.qtd+1});
}
removeItem(){
如果(this.state.qtd>0){
this.setState({qtd:this.state.qtd-1});
}
}
render(){
返回(
this.removietem()}>
this.setState({choose_quantity:e.target.value}})只读>
this.addItem()}>
)
}
}
导出默认选择数量;
这是名为Event的父组件的一部分(请注意,它位于数组中的子组件):

{
this.state.tickets.map((ticket,i)=>(
{ticket.name}
{ticket.lot.map((lot,j)=>
{lot.name}
R${lot.price.replace('.',',')}
(R${lot.price.replace('.',',')}+R${lot.price_tax.replace('.',',')}) {this.state.qtd} )}
) )
}
您应该将中的状态“提升”到一个公共父级,该父级处理逻辑并传递处理程序,如
onAddItem
onremovietem
和一个
到按钮和输入

有关提升状态的详细信息,请参见此处: