访问 this.state 值到其他类 [React Native]

IT技术 javascript reactjs react-native
2021-05-22 03:45:42

我只是想问我如何从其他类访问 this.state.sampleString .. 这是我的代码

class MainClass extends Component {

  constructor(props){
      super(props)


      this.state = {
        sampleString: 'Test String'
      }

      this.getValue = this.getValue.bind(this);
    }


    getValue(){
        //console.log(this.state.sampleString);
        return this.state.sampleString
    }

}

==========

这是我的第二个类的函数,用于从 MainClass 获取“this.state.sampleString”的值

function getValueFromMainClass() {

  var stringFromClassHeader = () => {HeaderWithBg.getValue()}

  console.log(stringFromClassHeader.sampleString);

}

为什么它返回“未定义”?

非常感谢。我是 React Native 的新手。

1个回答

您可以将其this.state.sampleString作为props发送到其他组件并在那里使用它。一个简单的例子如下:

class MainClass extends Component {
  constructor(props){
      super(props)
      this.state = {
        sampleString: 'Test String'
      }

      this.getValue = this.getValue.bind(this);
    }

    getValue(){
        //console.log(this.state.sampleString);
        return this.state.sampleString
    }

    render(){
        return (
        <ChildClass sampleString={this.state.sampleString}/>


          )
        }
    }

class ChildClass extends Component {
    somefunction() {
        //console.log(this.props.sampleString);
        return this.props.sampleString
    }

    render(){
        return ...
    }
}