Closed kagomen closed 5 months ago
“A component is changing an uncontrolled input to be controlled” というエラーが発生する
コンポーネントに value を渡す場合、そのライフサイクル全体を通じて文字列型でなければなりません。 最初に value={undefined} を渡しておき、後で value="some string" を渡すようなことはできません。なぜなら、React はあなたがコンポーネントを非制御コンポーネントと制御されたコンポーネントのどちらにしたいのか分からなくなるからです。制御されたコンポーネントは常に文字列の value を受け取るべきであり、null や undefined であってはいけません。 あなたの value が API や state 変数から来ている場合、それが null や undefined に初期化されているかもしれません。その場合、まず空の文字列('')にセットするか、value が文字列であることを保証するために value={someValue ?? ''} を渡すようにしてください。 同様に、チェックボックスに checked を渡す場合は、常にブーリアン型であることを確認してください。
現状
SearchBar(input)の怪しい実装に、エラーが出た