Reactjs 从具有3个对象的组件从子级传递到父级
我有一个组件,有两个按钮和一个输入文本。按钮1将项目减少,按钮2将项目增加为输入。当我减少/增加一个项目时,我需要从输入中获取值。减少/增加是可行的,但我无法(我不知道如何)获得父组件中的值。 这是我的子组件,名为ChooseQuantity:Reactjs 从具有3个对象的组件从子级传递到父级,reactjs,Reactjs,我有一个组件,有两个按钮和一个输入文本。按钮1将项目减少,按钮2将项目增加为输入。当我减少/增加一个项目时,我需要从输入中获取值。减少/增加是可行的,但我无法(我不知道如何)获得父组件中的值。 这是我的子组件,名为ChooseQuantity: import React, { Component } from 'react'; import './ChooseQuantity.css'; class ChooseQuantity extends Component{ construct
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
和一个值
到按钮和输入
有关提升状态的详细信息,请参见此处: