1、'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation.
function* handleSignin(action: SigninAction) {
console.log(action, 'handleSignin')
try{
let res: any = yield call(axios.post, `${API}/signin`, action.payload)
yield put(signinSuccess())
}catch(error:any) {
alert(error.response.data.error)
yield put(signinFail(error.response.data.error))
}
}
function* handleSignin(action: SigninAction): any {
console.log(action, 'handleSignin')
try{
let res: any = yield call(axios.post, `${API}/signin`, action.payload)
yield put(signinSuccess())
}catch(error:any) {
alert(error.response.data.error)
yield put(signinFail(error.response.data.error))
}
}
2、React Hook "useActive" is called conditionally. React Hooks must be called in the exact same order in every component render
function useActive(currentPath:string, path:string) {
return currentPath === path ? 'ant-menu-item-selected' : ''
}
function getDashboardUrl() {
let url = '/user/dashboard'
if(isAuth()) {
const {
user: {role}
} = isAuth() as Jwt
if(role === 1) {
url = '/admin/dashboard'
}
}
return url
}
function getDashboardUrl() {
let url = '/user/dashboard'
if(isAuth()) {
const {
user: {role}
} = isAuth() as Jwt
if(role === 1) {
url = '/admin/dashboard'
}
}
return url
}
function useActive(currentPath:string, path:string) {
return currentPath === path ? 'ant-menu-item-selected' : ''
}
3、An interface can only extend an object type or intersection of object types with statically known members
是类和接口不能 implement / extends 联合类型的类型别名。就像你用 interface 去 extends 一个 class 或另一个 interface 是可以的,但是你不能去 extends 联合类型。
interface PrivateRouteProps extends RouteProps {}
type PrivateRouteProps = RouteProps & {}
4、An argument for 'defaultValue' was not provided
5、Argument of type 'RcFile | undefined' is not assignable to parameter of type 'string | Blob'.
Type 'undefined' is not assignable to type 'string | Blob'.
6、Type 'string | undefined' is not assignable to type 'string'.
Type 'undefined' is not assignable to type 'string'.
const {productId} = useParams<{ productId: string }>()
useEffect(() => {
dispatch(getDetailProduct({productId}))
}, [])
const {productId} = useParams<{ productId: string }>()
useEffect(() => {
//dispatch(getDetailProduct({productId: productId!}))
dispatch(getDetailProduct({productId: productId as string}))
}, [])