TypeScript &在這裏反應新手。爲什麼TypeScript不會因爲constructor(foo: string)
輸入類型不匹配{foo: string}
? (注意:其中一個是一個字符串,另一個是對象。)typescript不捕捉類型不匹配(反應TSX)
TypeScript將很高興地編譯這個,當然最終的代碼也會崩潰。我試圖打開tsconfig.json必須提供的所有選項。我正在使用typescript 2.5.3。
是否有任何方式,如打字稿配置,代碼更改或其他任何硬化代碼以避免這種情況?任何想法讚賞,我的目標是編寫穩定的代碼。
import * as React from'react'; import * as'ReactDOM from'react-dom';
class App extends React.Component<{ foo: string }, { foo: string }> {
// expects string
constructor(foo: string) {
super();
this.state = {
foo: foo
}
}
render() {
return <div>{this.state.foo}</div>
}
}
// Passes object { foo: string }
ReactDOM.render(<App foo="foo" />, document.getElementById('root'))
編輯:簡化問題
你一定要明白,這不是打字稿,對不對? – Amit
@Amit,現在你說,我知道,但是在提問的時候我沒有意識到。謝謝。那麼,任何關於去JSX - > TS - > JS的正確工作流程的想法是什麼? – zupa
不,個人而言,我不喜歡正是因爲這個原因作出反應。我覺得這個語法尷尬和分心。 – Amit