子组件的通过状态

时间:2018-09-12 09:03:23

标签: reactjs ecmascript-6 react-props

所以我有一个组件“ itemSelection”,并且在其中通过这样的api响应进行映射

<div className="row">
     {this.state.items.map(i => <Item name={i.name} quantity={i.quantity} />)}
</div> 

“项目”组件的状态

constructor(props){
        super(props);
        this.state = {
          visible: false,
          selected: false,
        }
    }

如何将“ Item”组件的状态传递给“ itemSelection”组件?

2 个答案:

答案 0 :(得分:0)

应使用道具将数据发送回父组件。 相当普遍的问题,长答案请参见this post

答案 1 :(得分:0)

根据我的说法,如果我理解您的问题,则希望将子组件的状态称为父组件。

scatter3d(PC1~PC2+PC3, data=new, group=as.factor(new$cluster), size=10, type='s', bty = "g", pch = 20, cex = 1.5,xlab="PC1",ylab="PC2",zlab="PC3",lwd = 4,pch = 20,colkey = FALSE)

此外,您还可以从以下链接获得代码参考:https://github.com/kriasoft/react-starter-kit/issues/909

这有点棘手,但也许可以,它可以帮助您解决问题。

//Child.js

import s from './Child.css';

class Child extends Component {
 getAlert() {
    alert('clicked');
 }
 render() {
  return (
    <h1 ref="hello">Hello</h1>
  );
 }
}

export default withStyles(s)(Child);

//Parent.js

class Parent extends Component {
 render() {

  onClick() {
    this.refs.child.getAlert()
  }

  return (
    <div>
      <Child ref="child" />
      <button onClick={this.onClick.bind(this)}>Click</button>
    </div>
  );
 }
}