Reactjs 是否将子数据传递给父级?

Reactjs 是否将子数据传递给父级?,reactjs,react-props,Reactjs,React Props,我希望将数据从子组件传递到父组件 这是我的密码: 在我的子组件中,我有一个要显示在父组件中的const=priceShowed。因此: Price:{priceshow} 我曾尝试将函数放置在父级中,然后将它们作为道具传递给子级,这样我就可以访问const=priceShowed,因为它将位于父级中,但I显示为未定义。代码如下:您可以将状态保留在父级中,并将函数作为prop传递,该函数将从子组件调用,并使用适当的参数更新父级中的状态 示例 类应用程序扩展了React.Component{ 状态

我希望将数据从子组件传递到父组件

这是我的密码:

在我的子组件中,我有一个要显示在父组件中的
const=priceShowed
。因此:

Price:{priceshow}


我曾尝试将函数放置在父级中,然后将它们作为道具传递给子级,这样我就可以访问
const=priceShowed
,因为它将位于父级中,但
I
显示为未定义。代码如下:

您可以将状态保留在父级中,并将函数作为prop传递,该函数将从子组件调用,并使用适当的参数更新父级中的状态

示例

类应用程序扩展了React.Component{
状态={
已选择:空
};
handleSelectL1=i=>{
这是我的国家({
我:我,,
已选择:空
});
};
render(){
常数乘积=[
{
名称:“一”,
价格:1
},
{
姓名:“两个”,
价格:2
},
,
{
姓名:"三",,
价格:3
}
];
const evendex=this.state.evenSelected;
返回(
价格:
);
}
}
子类扩展了React.Component{
render(){
const{product,evendex}=this.props;
const PriceShowed=产品[evenIndex]&产品[evenIndex]。价格;
返回(
{product.map((p,i)=>{
返回(
this.props.handleSelectL1(i)}
>
{p.name}{evendex==i&&“selected!”}
);
})}
);
}
}
render(,document.getElementById(“根”))

在react中,数据流是单向的,即从父级到子级。 如果父组件希望访问子组件数据,则可以使用参照(尽管不建议使用)

例如: 假设在子组件中定义了一个函数getPrice()

class Parent extends React.Component {
constructor(props) {
super(props);
this.getPrice = this.getPrice.bind(this);
};

getPrice() {
    let price = this.refs.child.getPrice();
};

render() {
    return(
        <Child
          ref="child"
        />
    )
  };
}

希望这有帮助。

为什么?数据和道具应该向下流动。如果希望在子级和父级之间建立数据关系,在父级中处理它,然后将其传递给子级。您很可能希望这样做,而不是尝试将数据从子级发送给父级。是的,我理解我也尝试这样做,但我在尝试作为道具传递的函数中遇到了一个错误,如下所示:
I
未在该链接中定义。也许你想把它和别的东西联系起来?是的,我不明白为什么它在父母身上没有定义,但在孩子身上却很好。所以我一直在想该怎么办。如果不是在绑定上也在函数本身中传递,我还可以如何传递它。哦,谢谢@Tholle!!你总是有办法的!我希望随着时间的推移我能和你一样好。谢谢@Vasuki Dileep这也帮了我大忙!
class Child extends React.Component {
    constructor(props) {
    super(props);
    this.state = {
        price: "100"
    }
this.getPrice = this.getPrice.bind(this);
};

getPrice() {
    return this.state.price
  };   
}