【发布时间】:2021-05-17 10:31:29
【问题描述】:
是否可以这样做:
observe(props.store.zone.players[props.socket_id], (change) => {
...
})
我想在组件的每个特定实例上监听事件。
这里是区域商店:
const ZoneState = types
.model({
name: types.optional(types.string, ""),
players: types.map(PlayerState),
})
.actions((self) => ({
syncPlayer(params) {
const player = self.players.get(params.id);
const oldPlayerData = toJS(player);
self.players.put(params);
},
}));
还有播放器商店
import { types } from "mobx-state-tree";
const PlayerState = types
.model({
id: types.identifier,
socket_id: types.optional(types.string, ""),
x: types.integer,
z: types.integer,
name: types.optional(types.string, "Unknown One"),
})
.actions((self) => ({
sync(params) {
self.x = params.x;
self.z = params.z;
},
}));
export default PlayerState;
【问题讨论】:
标签: mobx mobx-state-tree