为什么我在 React 中使用 RTK 设置状态时"Property 'value' may not exist on type 'boolean'. Did you mean 'value



在Visual Studio Code代码编辑器中使用Redux Toolkit创建切片时,我收到了一个TS警告"属性'value'可能类型'布尔'不存在。你是说valueOf吗?当将状态值设置为布尔值时:

import {createSlice} from '@reduxjs/toolkit';
export const authSlice = createSlice({
name: 'auth',
initialState: false, // not logged-in
reducers: { // functions to update state
login: (state) => {state.value = true},
logout: (state) => {state.value = false}
}
});

另外,我使用的是JavaScript,而不是TypeScript,这使得它更没有意义。我误解和/或做错了什么?

我认为你的初始状态应该是一个对象,而不是一个布尔值。试试相反:

initialState: {
value: false,
}

我通过利用FedToaster的建议并纠正代码来解决这个问题:

import {createSlice} from '@reduxjs/toolkit';
export const authSlice = createSlice({
name: 'auth',
initialState: {value: false}, // not logged-in
reducers: { // functions to update state
login: state => {state.value = true},
logout: state => {state.value = false}
}
});

最新更新