我有这个代码,它在我的本地主机上运行得很好.但TypeScrip给我抛出了一个错误Type 'string' is not assignable to type Ref<string>.

let placeholderTitle = ref<string>('')


function beforeDragStart() {
    placeholderTitle = ''
    ....
}

有人能告诉我这个代码有什么问题吗?

其次,为什么这个合成API允许我将值直接赋值给PlaceholderTitle,而PlaceholderTitle.value=抛给我一个错误?

推荐答案

作为一名裁判,placeholderTitle必须是constant(const而不是let).

使用let允许您更改placeholderTitle的内容,但Typescript会合理地抛出类型错误Type 'string' is not assignable to type Ref<string>.

要更改Ref的内容,您必须更改其内部的.value:

function beforeDragStart() {
    placeholderTitle.value = ''
    ....
}

Typescript相关问答推荐

无需刷新即可让现场访客逆变

使用React处理Websocket数据

HttpClient中的文本响应类型选项使用什么编码?''

如何在排版中正确键入中间件链和控制器链

TypeScrip-将<;A、B、C和>之一转换为联合A|B|C

接口中函数的条件参数

React Typescript项目问题有Redux-Toolkit userSlice角色问题

Select 下拉菜单的占位符不起作用

正交摄影机正在将渲染的场景切成两半

自定义 Select 组件的类型问题:使用带逗号的泛型类型<;T与不带逗号的<;T&>;时出错

对有效枚举值的常量字符串进行常规判断

基于未定义属性的条件属性

为什么在泛型方法中解析此promise 时会出现类型错误?

TypeScrip:从嵌套的对象值创建新类型

如何从JWT Reaction中提取特定值

参数未映射泛型返回类型

React-跨组件共享功能的最佳实践

为什么类方法参数可以比接口参数窄

可选通用映射器函数出错

Typescript 确保通用对象不包含属性