自v0.53起,Flow是否忽略defaultProps?

时间:2017-11-06 16:39:54

标签: javascript ecmascript-6 flowtype

使用以下代码,我希望Flow会抱怨默认道具native: pc 0000000000049c34 /system/lib/libc.so (tgkill+12) native: pc 00000000000474cd /system/lib/libc.so (pthread_kill+36) native: pc 000000000001bbe3 /system/lib/libc.so (raise+10) native: pc 000000000001848d /system/lib/libc.so (__libc_android_abort+36) native: pc 00000000000164ec /system/lib/libc.so (abort+4) native: pc 0000000000331875 /system/lib/libart.so (_ZN3art7Runtime5AbortEv+228) native: pc 00000000000f44db /system/lib/libart.so (_ZN3art10LogMessageD2Ev+2226) native: pc 000000000025a92f /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1550) native: pc 000000000025ad5b /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+74) native: pc 0000000000278577 /system/lib/libart.so (_ZN3art3JNI15CallVoidMethodVEP7_JNIEnvP8_jobjectP10_jmethodIDSt9__va_list+470) native: pc 0000000000062c9f /system/lib/libandroid_runtime.so 不是foo而是string

number

(代码可在https://flow.org/try/上使用)

使用// @flow import React from 'react' type Props = { foo: string } class ClassComponent extends React.Component<Props> { static defaultProps = { foo: 23 } render () { return <div>foo: {this.props.foo}</div> } } 这可以按预期工作,但由于v0.52 Flow不再关心defaultProps。

v0.53

// @flow import React from 'react' type Props = { foo: string } class ClassComponent extends React.Component<Props> { static defaultProps = { foo: 23 } render () { this.props.foo = 23 // Flow complains now with the expected error return <div>foo: {this.props.foo}</div> } } 的行为相同。

这是一个错误还是我错过了什么?

0 个答案:

没有答案