在反应中访问状态

Accessing state in react

我有一个函数:

    getCommits: function() {
    fetch('/commits').then((response) => {
        if (response.status >= 400) {
            throw new Error("Bad response from server");
        }
        return response.json();
     })
     .then((commits) => {
       this.setState({commits: commits});
     });
  },

我在这个函数中设置了状态,现在我想让其他函数访问这个状态。我该怎么做?

this.state.commits 是我的一个想法。

     getTodaysCommits: function(){
     fetch('/commits').then((response) => {
        if (response.status >= 400) {
            throw new Error("Bad response from server");
        }
        return response.json();
     })
     .then((commits) => {
       var todaysCommits = [];
       for (var i = 0; i < commits.length; i++) {
         var today = new Date().toDateString();
         var stringToDate = new Date(commits[i].commit.author.date).toDateString();
         if (today == stringToDate){
           todaysCommits.push(commits[i])
         }
       }
       return todaysCommits;
     })
     .then((todaysCommits) => {
       this.setState({commits: todaysCommits});
     })
  },

在这个函数中,我如何使用提交而不必从 api 中获取它并只使用上一个函数中设置的状态?

componentDidMount: function() {
    this.getCommits();}

我的函数设置为 componentDidMount

首先您需要确保您的状态已设置,然后您可以通过将上下文状态引用为 this.state.commits 来访问它。

您需要确保您指的是正确的上下文。

在函数中使用它作为

getTodaysCommits: function(){

    var commits = this.state.commits;
    console.log(commits);

}