可以从外部类调用类函数

时间:2018-06-19 06:25:07

标签: javascript reactjs

我试图从类外调用函数并更新类的状态。这是正确的方法吗?

    function  myFunc() {
       this.Test("test")
    }

    class Notification extends Component {

      constructor(props) {
        super(props);
        this.state = {
            demoState:''
        };
      }

      Test(data){

       this.setState({
           demoState:data 
         })
      }

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

3 个答案:

答案 0 :(得分:0)

您的示例中未提供函数用法。

这是正确的方式,这就是最有效的方法。但是不要使用this参数取笑react.js - 只需将参数传递给myFunc

答案 1 :(得分:0)

matrices参数传递给myFunc。

this

然后从类中调用myFunc,如下所示:

function  myFunc(this /* <----- */) {
   this.Test("test")
}

答案 2 :(得分:0)

可能是,您需要传递该类的对象来更改状态。看看myFunc&amp; Notification.Test函数更改。

function myFunc() {
  let notification = new Notification({});
  notification.Test("test");
  console.log(notification.state);
}

class Notification extends Component {

  constructor(props) {
    super(props);
    this.state = {
      demoState: ''
    };
  }

  Test(data) {

    this.state = {
      demoState: data
    };
  }

  render() {
    return ('<div/>')
  }
}