我有一个减速器。它的字段可以包含string
或null
我有一个减速器接口
export interface ExpertFeedback {
feedback: Feedback[],
feedbackConversationMessages: Message[],
feedbackConversation: string | null,
// feedbackConversation: any,
}
已拆除内容的减速器
const INITIAL_STATE: types.ExpertFeedback = {
feedback: [],
feedbackConversationMessages: [],
feedbackConversation: null
};
const expertFeedback = (state = INITIAL_STATE, action: types.AppActions): types.ExpertFeedback =>
使用类型any
可以正常工作。但是,如果我将其设置为string | null
类型,则会抛出该错误
Type 'string | null' is not assignable to type 'string'
any
似乎草率。知道这里发生了什么吗?
答案 0 :(得分:1)
Type 'string | null' is not assignable to type 'string'
此错误消息告诉您,如果您拥有可以是string | null
的东西,则不能在期望string
的地方使用它。
因此,基于此,我假设您正在访问某个feedbackConversation
对象上的属性ExpertFeedback
,并将其视为string
对待。为此,您必须首先确认它不是null
。
if ( state.feedbackConversation !== null ) {
// ok to treat as a string
state.feedbackConversation.toLowerCase();
someStringFunction( state.feedbackConversation );
}
答案 1 :(得分:0)
您在strictNullChecks
中启用了tsconfig
吗?