Esta es una función que al hacer clic en un elemento desplegable cambia una propiedad isSelected a verdadera o falsa y, en función de la propiedad isselected, muestra No se puede asignar a la propiedad de solo lectura 'isSelected' del objeto
onCheckUsers = (x) => { console.log(x, "param of x"); var { userFilter } = this.props.main; var { length } = this.state; var tempSelected = userFilter.find((a) => a.name === x.name); if (tempSelected.isSelected) { tempSelected.isSelected = false; } else tempSelected.isSelected = true; console.log(userFilter, "selectedUserList"); StoreActions.setState({ userFilter }); length = userFilter.filter((d) => d.isSelected).length; this.setState({ length }); // Actions.storeSetState({ userFilter }); };Así que aquí encontré la respuesta por mí mismo de que no puede actualizar el estado de una tienda redux directamente, por lo que necesita actualizar el estado en el contexto actual y luego asignarle el valor. No estoy realmente seguro de si es la explicación correcta o no, pero para mí funcionó. así que aquí estoy adjuntando el código si alguien quiere optimizarlo por favor de nada
var { userFilter } = this.props.main; var { length , tempSelected=[]} = this.state; var tempSelected = _.cloneDeep(userFilter); var newtemplist= tempSelected.find((a) => a.name === x.name) if (newtemplist.isSelected) { newtemplist.isSelected = false; } else newtemplist.isSelected = true; this.setState({tempSelected:newtemplist}) console.log(userFilter, "selectedUserList"); StoreActions.setState({ userFilter:tempSelected });