在这段代码中,流程并没有抱怨dog
在状态上设置的值。它似乎忽略了NamespaceData
定义。我已经设置了类型,所以它应该抱怨。我在核素上运行,流动在其他所有方面都正常工作。
, ,action
等的所有属性都是字符串。namespace
project
collection
// @flow
import { NAMESPACE_SET } from '../actions/NamespaceActions'
type NamespaceData = {
project: string,
collection: string,
}
type NamespaceState = {
[namespace: string]: NamespaceData,
}
const initialState: NamespaceState = {}
function namespaceReducer(state: NamespaceState = initialState, action: Object): NamespaceState {
switch (action) {
case NAMESPACE_SET: {
return {
...state,
[action.namespace]: {
project: action.project,
collection: action.collection,
dog: 1,
}
}
}
}
return state
}
export default namespaceReducer