从组件类中访问状态

尤安

我是新手,我正在尝试使用状态来替换本机 JS DOM 调用从方法内部更新 DOM。
我似乎无法让它工作。它一直说 this.setState 不是一个函数。
这是我当前的代码如下:

class AddMsg extends React.Component {
  constructor(props) {
   super(props);
   this.state = {uploadBar: 'hide'};
  }
  ...
  handleSubmit(e) {
    ...
     if (file !== '' && this.state.chars_left >= 0) {
       ...
       uploadTask.on('state_changed', function (snapshot) {
         ...
        let progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
        (progress < 100)
          ? this.setState({uploadBar: 'show'})
          : this.setState({uploadBar: 'hide'})
        }, function error(err) {
         ...
       }, function complete() {
         ... 
       }
       ...
  }
  render(){
    return(
      ...
      <span className={`help is-primary has-text-centered ${this.state.uploadBar}`}> Sending scribe now...</span>
    )
  }
}

我正在尝试替换的代码...

    (progress < 100)
      ? document.getElementById('uploadBar').style.display = 'block'
      : document.getElementById('uploadBar').style.display = 'none';

有人有什么建议吗?
就像我说的那样,我不断得到 setState 不是一个函数。

吉他谱

您还可以使用箭头函数来扩大回调函数的访问范围:

uploadTask.on('state_changed', (snapshot) => {
     ...
    let progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
    (progress < 100)
      ? this.setState({uploadBar: 'show})
      : this.setState({uploadBar: 'hide})
})

您还忘记了显示和隐藏后的结束语。我想你的意思是写:

this.setState({uploadBar: 'show'})
this.setState({uploadBar: 'hide'})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在React中访问组件状态

来自分类Dev

如何从父类访问子组件的状态

来自分类Dev

访问列表中类的组件

来自分类Dev

无法访问组件中的 redux 状态

来自分类Dev

unity 如何访问类中的组件

来自分类Dev

如何访问功能组件中的类组件方法?

来自分类Dev

从Dart中的其他Web组件访问状态

来自分类Dev

在使用效果中反应功能组件的访问状态

来自分类Dev

在React组件的功能中访问新的REDUX状态

来自分类Dev

在 React 中通过 ref(或键)访问无状态组件

来自分类Dev

访问有状态子组件中的道具错误

来自分类Dev

如何在反应中访问父组件状态

来自分类Dev

在 React 的父组件中访问子状态值

来自分类Dev

反应:更改功能组件中的状态也更改功能组件的props值及其父类状态

来自分类Dev

我如何在类组件中以布尔状态重用函数

来自分类Dev

反应本地保持日期作为类组件中的状态

来自分类Dev

从父组件访问子状态?

来自分类Dev

如何访问组件外部的状态

来自分类Dev

可以访问 React 组件状态的样式组件?

来自分类Dev

如何在Vue类组件中访问$ bvToast

来自分类Dev

如何获取访问方法dispatch()到类的组件中

来自分类Dev

在Vue类组件装饰器中访问获取器

来自分类Dev

如何从角度组件中访问本地 css 类名

来自分类Dev

虽然我使用mapGetters来访问状态,但在组件中状态未定义

来自分类Dev

我无法从我的子(类)组件更新我的父组件中的状态

来自分类Dev

ReactJS中的组件状态

来自分类Dev

在事件处理程序中访问React JS中的道具和当前组件的状态

来自分类Dev

如何在React Native中访问类外部的类的状态变量?

来自分类Dev

通过Redux操作访问组件状态

Related 相关文章

热门标签

归档