访问React类组件的返回变量

时间:2018-07-17 07:45:46

标签: javascript reactjs class

我有react组件,它返回一个整数。类组件的结构如下:

class MyClass extends Component {
   constructor(props) {
        super(props);
        this.state = {
            variable : 0
        }
    }
    componentDidMount(){
       // do some works
       this.setSate({variable:$someValue});
    }
    render(){
        var temp = this.state.variable;
        return temp;
    }
}

我需要在渲染中的React的另一个类组件中获取MyClass返回的值。 如果我打来,

render () {
  return (
    <div>{Myclass}</div>
  );
}

它工作正常。有什么方法可以调用此外部返回,并将值分配给变量?

2 个答案:

答案 0 :(得分:1)

尝试改用“ this.props”。您可以传递这样的内容

   class MyClass extends Component {
   constructor(props) {
        super(props);
        this.state = {
            variable : 0
        }
    }
    componentDidMount(){
       // do some works
       this.setSate({variable:$someValue});
    }
    render(){
        const {variable} = this.state
        return (
             <MyOtherClass variable = {variable}/>
         );
    }
}

在MyOtherClass中:

render() {
    const {variable} = this.props
    return (
        <div>{variable}</div>
    );
}

答案 1 :(得分:0)

您应该可以扩展MyClass并致电super.render()

class MyOtherClass extends MyClass {

    render() {
        const value = super.render();
        return (
            <div>{value}</div>
        );
    }
}

编辑codesandbox.io

中的工作示例