をスローします理由:活字体/リアクトthis.stateから構造化代入すると、私は私のリアクト構成要素の一つで、次の方法を持っているエラー
タイプ 'Readonly < {}>'はタイプ '{colors:any; } '。 プロパティ '色'が 'Readonly < {}>'の型にありません。
誰かが私にその理由を教えてもらえますか?私は間違いなくコンストラクタ内にthis.state.colors
を設定し、私がしなかったとしても、なぜそれが私にそのエラーを投げるかわからない。
をスローします理由:活字体/リアクトthis.stateから構造化代入すると、私は私のリアクト構成要素の一つで、次の方法を持っているエラー
タイプ 'Readonly < {}>'はタイプ '{colors:any; } '。 プロパティ '色'が 'Readonly < {}>'の型にありません。
誰かが私にその理由を教えてもらえますか?私は間違いなくコンストラクタ内にthis.state.colors
を設定し、私がしなかったとしても、なぜそれが私にそのエラーを投げるかわからない。
非構造の正しい構文は次のようである:
const { colors } = this.state;
これは活字体でthis.state.colors
があると仮定し、クラスのプロパティは、型定義を必要とする:
さhttps://www.typescriptlang.org/docs/handbook/classes.html
this.state
私のコンポーネントクラスのプロパティもその型定義が必要でした:
interface State{
colors: string[];
};
class ColorPicker extends React.Component {
state: State;
//...
}
これを追加した後、エラーはなくなりました。
あなたは[これをしようとしています](https://www.typescriptlang.org/play/index.html#src=type%20State%20%3D%20%7B%0D%0A%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7%20% 3%20%緑色%20%7%20%7%3%3%20%7%20%20%7%20%20%7%20%20%7%20% %20%3D%20state%3B%0D%0A%0D%0Adocument.write(colors.green)%3B)?おそらく、あなたの状態が正しくセットアップされていない可能性があります。 –
コンストラクタの 'this.state ='ステートメントに型インタフェースを割り当てる必要があるかもしれないと思います。何らかの理由で私はタイプが自動的に推測されると仮定しました。 – styke
Readonlyは私には奇妙に思えるタイプです。 readonlyが型だとは思わなかった。それとも、私はエラーメッセージを誤解しています。 –