ExpoでuseColorScheme()が常にlightを返してしまう時

現象

useColorScheme()が常に light を返してしまう テーマの設定で「システム」にしたい時に困っちゃう

原因

Expo の app.json の userInterfaceStyle が light になっていたため

対処法

app.json の userInterfaceStyle を「automatic」にする

{
  "expo": {
    "userInterfaceStyle": "automatic"
  }
}

参考

https://github.com/facebook/react-native/issues/31806#issuecomment-873670374

ios.userInterfaceStyle と android.userInterfaceStyle も automatic にしないといけないコメントがあるが、おそらくどこかで修正が入ったようで、expo.userInterfaceStyle だけで大丈夫だった