トラブルシューティング
アニメーションが再生されない、フォントが違う、エージェントが画面を再テーマ化してしまう。よくある5つの実例。
アニメーションが再生されない
断トツで最も多い問題です。Reanimatedにはそのバベルプラグインが必要で、plugins配列の最後に置く必要があります。これがないと、アニメーションするコンポーネントは最終値のままレンダリングされ、何も動かず、エラーも一切表示されません。
// babel.config.js
module.exports = function (api) {
api.cache(true)
return {
presets: ['babel-preset-expo'],
plugins: ['react-native-reanimated/plugin'], // must be LAST
}
}その後、キャッシュをクリアしてバンドラーを再起動してください:npx expo start -c。通常の再起動だけでは不十分です。
フォントの見た目がおかしい
フォントは画面の中ではなく、アプリのルートで一度だけ読み込みます。各デザインはfontsオブジェクトをエクスポートするので、それをルートのuseFontsに展開し、解決するまでスプラッシュ画面を保持してください。これを省略すると、テキストはシステムフォントにフォールバックし、すべてのウェイトが微妙にずれて見えます。
import { useFonts } from 'expo-font'
import * as SplashScreen from 'expo-splash-screen'
import { fonts } from './components/clean-settings/screen'
SplashScreen.preventAutoHideAsync()
export default function App() {
const [loaded, error] = useFonts({ ...fonts })
useEffect(() => {
if (loaded || error) SplashScreen.hideAsync()
}, [loaded, error])
if (!loaded && !error) return null
return <YourApp />
}エージェントが自分のアプリに合わせて再テーマ化してしまった
元に戻すよう伝え、新しい会話でプロンプトを貼り付け直してください。適応しないという指示はすべてのプロンプトに含まれていますが、エージェントがあなたのコードベースの慣習を吸収した長いセッションでは、それが上書きされることがあります。クリーンなコンテキストが確実な対処法です。
Expo Goでクラッシュする
そのデザインのバッジを確認してください。一部はExpo Goに含まれないネイティブモジュールを使用しており、それにはdevelopment buildが必要です。カード上のバッジ、詳細ページのバッジ、プロンプト自体、すべてがコピー前にそのことを示しています。
npx expo run:iosエージェントが途中で止まりプレースホルダーを残した
ファイル名を伝えて、途中で切れたファイルを完成させるよう依頼してください。プロンプトはプレースホルダーを明示的に禁止していますが、コンテキストの制約下にあるエージェントは時折それでもやってしまい、長いフローが主な原因です。何も失われておらず、それ以外の貼り付け内容は無傷です。