ええ、それがsetState()
ストアの状態を更新し、すべてのサブスクライバーに変更イベントを発行することは知っていますが、誰もがそれを使用しているわけではなく、状態を更新するときにそれを省略していることがわかります。
たとえば、次のalt-todo repoでは、 を使用していませんsetState()
。
class TodoStore {
constructor() {
this.bindActions(TodoActions);
this.todos = {};
}
onCreate(text) {
text = text.trim()
if (text === '') {
return false
}
// hand waving of course.
const id = (+new Date() + Math.floor(Math.random() * 999999)).toString(36)
this.todos[id] = {
id: id,
complete: false,
text: text
}
}
}
ただし、公式の alt.js リポジトリでは、次のように使用されています。
class LocationStore {
constructor() {
this.bindAction(locationActions.updateLocation, this.onUpdateLocation);
this.state = {
city: 'Denver',
country: 'US'
};
}
onUpdateLocation(obj) {
const { city, country } = obj
this.setState({ city, country });
}
}
だから私は両方の方法の違いは何だろうと思っていますか?