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
};
}