在反应中访问状态
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);
}
我有一个函数:
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);
}