Reactjs Alt:getState()不';t返回类实例

Reactjs Alt:getState()不';t返回类实例,reactjs,alt,Reactjs,Alt,我尝试在Alt Store中返回类实例,但它总是只返回Javascript对象,而不是类实例。这是getState()的默认行为吗?如何返回类实例 import alt from '../alt'; import ScheduleActions from '../actions/ScheduleActions.js'; import ScheduleApiUtils from '../utils/ScheduleApiUtils'; class ScheduleStore { constr

我尝试在Alt Store中返回类实例,但它总是只返回Javascript对象,而不是类实例。这是getState()的默认行为吗?如何返回类实例

import alt from '../alt';
import ScheduleActions from '../actions/ScheduleActions.js';
import ScheduleApiUtils from '../utils/ScheduleApiUtils';

class ScheduleStore {
  constructor() {
    this.state = {
      test: new String("test")
    }
    console.log(this.state.test instanceof String); // return true
  }
  static getSchedules() {
    console.log(this.getState().test instanceof String); // return false
  }

}

export default alt.createStore(ScheduleStore, 'ScheduleStore'); 

这不是特定的反应。这就是javascript的操作方式。尝试打开console并询问以下类型:

typeof "test"
typeof {}
typeof []
typeof true
typeof false

如果要检查javascript中的类型,您可能需要首先查看,在javascript中,字符串文字原语和
字符串
类不是同一类型。换句话说,字符串文字不是
字符串的实例:

console.log("test" instanceof String) // false
console.log(new String("test") instanceof String) // true
其次,从Alt文档中,它返回数据的副本:

调用[
getState
]后,它将执行商店状态的浅拷贝, 这样,您就不会意外地覆盖/更改任何商店的 国家

我不知道Alt是如何在内部进行复制的,但我假设它没有使用
new String()
来复制字符串值,而它执行复制的方式是将它们转换为字符串文本类型


使用
newstring()
代替字符串文本在JavaScript中不是很常见的做法

他使用的是
instanceof
而不是
typeof