Javascript react-redux存储状态的切片必须是对象吗?

Javascript react-redux存储状态的切片必须是对象吗?,javascript,reactjs,redux,Javascript,Reactjs,Redux,我结合了下面的状态切片(filterText),它用于过滤结果,所以只需要保存一个字符串。是否可以将初始状态设置为空字符串?或者它必须是一个对象,即使它只是整个较大存储对象的一部分?如果可以将其作为字符串,那么如何为每次分派创建状态的新副本?当前的返回{…state,…action.data}看起来很奇怪 const initialState = '' const filterText = (state = initialState, action) => { switch (act

我结合了下面的状态切片(filterText),它用于过滤结果,所以只需要保存一个字符串。是否可以将初始状态设置为空字符串?或者它必须是一个对象,即使它只是整个较大存储对象的一部分?如果可以将其作为字符串,那么如何为每次分派创建状态的新副本?当前的
返回{…state,…action.data}
看起来很奇怪

const initialState = ''

const filterText = (state = initialState, action) => {
  switch (action.type) {
    case constants.FILTER_CONTACTS:
      return {
        ...state,
        ...action.data
      }
    default:
      return state
  }
}

export default filterText

初始状态可以是字符串,但在每个开关情况下,它也应该返回字符串

更新状态时,您不需要复制,因为您的整个状态是一个字符串,您只需返回新字符串即可。如果没有更改,您只需返回旧状态

const initialState=''
常量过滤器文本=(状态=初始状态,操作)=>{
开关(动作类型){
case constants.FILTER\u联系人:
//在这里返回一个字符串,我假设action.data是一个字符串
返回action.data;
违约:
返回状态
}
}
导出默认过滤器文本