无法在函数中设置状态

时间:2019-08-19 09:00:43

标签: javascript react-native react-native-android

我有一个将生成SHA256签名的函数。但是我无法从中挖掘出价值。

功能属性:

  timer = null
  ScanCode_Change_Event = (e) => {
    clearTimeout(this.timer);
    this.timer = setTimeout(() => { this.triggerChange() }, 500);
  }
  triggerChange = async () => {
    await this._onSendSignature();
  }

_onSendSignature = async () => {
    const BarcodeNo = this.state.BarcodeNo;
    const valueToHash = MerchantKey + BarcodeNo + Amount.replace('.', '').replace(',', '');
    sha256(valueToHash).then( hash => {
        // This can show the signature
        ToastAndroid.show('Signature: ' + hash, ToastAndroid.LONG, ToastAndroid.BOTTOM);
        this.setState({
          hashSignature: hash
        })
      })
    // This cannot show the signature
    ToastAndroid.show('Signature: ' + this.state.hashSignature, ToastAndroid.LONG, ToastAndroid.BOTTOM);
}

渲染:

<Input style={{ color: 'brown' }}
                    placeholder='Scan Barcode'
                    placeholderTextColor='rgba(0, 0, 0, 0.3)'
                    autoFocus={true}
                    onChange={evt => this.ScanCode_Change_Event(evt)}
                    onChangeText={(BarcodeNo) => this.setState({ BarcodeNo})}>{this.state.BarcodeNo}</Input>

我目前不知道发生了什么。 BarcodeNo可以在this.state中获取值,但。

我尝试在构造函数上添加this._onSendSignature = this._onSendSignature.bind(this);。我会错过什么吗?

0 个答案:

没有答案