Max*_*vis 2 typescript reactjs redux
当我开始编译时,总是会出现堆栈错误。表示我initialState的位置store已损坏或其他人。此外,如果我仅从中切断initialStateprop ,我的应用程序就可以正常编译store,但这不是一个好的解决方案。
我也承认它.js在应用程序的文件版本上正常工作。好像redux在TypeScript上有一些问题。
错误:
TS2345:类型为'{titleSwitch:string; }”不能分配给“ DeepPartial”类型的参数。属性“ titleSwitch”与索引签名不兼容。类型“字符串”不可分配给类型“ DeepPartial”。
我的部分代码:
import { createStore } from 'redux'
import reducer from './reducers'
const initialState = {
titleSwitch: false
}
const store = () => {
return createStore(
reducer,
initialState // TS Error
)
}
Run Code Online (Sandbox Code Playgroud)
经过测试:
"redux": "^4.0.0",
"typescript": "^3.1.1",
"webpack": "^4.16.5"
Run Code Online (Sandbox Code Playgroud)
如果该代码在JS中有效,但仅由于在TypeScript中键入而失败,我建议您使用“ any”忽略它:
const store = () =>
createStore(
reducer,
initialState as any
)
Run Code Online (Sandbox Code Playgroud)
现在你要问我:但是为什么?如果您愿意的话,只要绕过问题,TypeScript的全部目的就是什么。
这样做的原因是,如果要在工作中这样做,则需要始终考虑使用类型系统的价值:
TypeScript的发明考虑了灵活性,并且在与JS库进行互操作时发挥了真正的威力。仅从一开始就以这种方式设计的语言在所有地方都使用完美且严格的类型才有意义,而JS并非如此。
现在不要误会我的意思。我很确定您的问题有解决方案。我的推理更多是关于:您实际上是否需要解决?会为您的应用带来一些有用的东西吗?有时这不值得。
| 归档时间: |
|
| 查看次数: |
2825 次 |
| 最近记录: |