タイプスクリプト&リアクション初心者はここに。 constructor(foo: string)
の入力タイプが{foo: string}
と一致しないため、なぜTypeScriptが私に叫ばないのですか? (注:それらのうちの1つは文字列、もう1つはオブジェクトです)タイプコピーがタイプミスをキャッチしない(反応するTSX)
TypeScriptはこれをうれしくコンパイルします。もちろん、結果のコードは爆発します。 tsconfig.jsonが提供するすべてのオプションをオンにしようとしました。私はtypescript 2.5.3を使用しています。
これを避けるために、typescriptの設定、コードの変更、または何か他の方法がありますか?任意のアイデアが評価され、私の目標は安定したコードを書くことです。
import * as 'react'からの反応; *「react-dom」からのReactDOMとしてのインポート。
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'))
EDIT:簡素化質問
あなたは、これは正しい、活字されていないことを実現していますか? – Amit
@あなたが言うようになった今、私は尋ねる時に気づいていませんでした。ありがとう。だから、JSX→TS→JSの適切なワークフローの考え方は? – zupa
いいえ、個人的に、私はこの理由で正確に反応しません。私はこの構文が厄介で気を散らすことがわかります。 – Amit