Rozwiązywanie problemów
Animacje, które nie działają, złe czcionki, agent, który przeprojektował twój ekran. Pięć prawdziwych usterek.
Animacje nie działają
To zdecydowanie najczęstszy problem. Reanimated potrzebuje swojej wtyczki Babel, i musi być ostatnia w tablicy plugins. Bez niej animowane komponenty renderują się w wartościach końcowych i nic się nie porusza, bez żadnego błędu nigdzie.
// babel.config.js
module.exports = function (api) {
api.cache(true)
return {
presets: ['babel-preset-expo'],
plugins: ['react-native-reanimated/plugin'], // must be LAST
}
}Potem zrestartuj bundler z wyczyszczonym cache: npx expo start -c. Zwykły restart nie wystarczy.
Czcionki wyglądają źle
Czcionki ładują się raz w korzeniu aplikacji, nie wewnątrz ekranu. Każdy projekt eksportuje obiekt fonts; rozłóż go w useFonts w swoim korzeniu i przytrzymaj splash screen, aż się rozwiąże. Jeśli to pominiesz, tekst przełącza się na czcionkę systemową i każda grubość wygląda nieco nie tak.
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 />
}Agent przeprojektował to, żeby pasowało do mojej aplikacji
Powiedz mu, żeby cofnął zmiany i wklej prompt do nowej konwersacji. Instrukcja, żeby nie dostosowywać, jest w każdym prompcie, ale długa sesja, w której agent już wchłonął twoje konwencje, może ją zignorować. Czysty kontekst jest niezawodną naprawą.
Zawiesza się w Expo Go
Sprawdź odznakę projektu. Kilka używa modułów natywnych, których Expo Go nie zawiera, a te wymagają development builda. Odznaka na karcie, odznaka na stronie szczegółów i sam prompt mówią o tym wszystkim, zanim skopiujesz.
npx expo run:iosAgent zatrzymał się w połowie i zostawił placeholder
Poproś go o dokończenie pliku, który obciął, podając nazwę pliku. Prompt wyraźnie zabrania placeholderów, ale agenci pod presją kontekstu wciąż czasem to robią, a długie flow są zazwyczaj winowajcą. Nic nie ginie; reszta wklejenia jest nienaruszona.