reactjs - Tipi React non corrispondenti in monorepo pnpm
Sto cercando di convertire un monorepo ereditato da yarn+lerna a pnpm workspaces
Attualmente sto ricevendo un errore a causa di versioni di React non corrispondenti, TypeScript non rileva per qualche motivo la versione di @types/react più vicina nell'albero.
Ho un pacchetto packages/web che utilizza i tipi di React 18, e un pacchetto packages/native che utilizza i tipi di React 16.
Ho un sacco di errori nel pacchetto nativo come
'Text' cannot be used as a JSX component.
Its instance type 'Text' is not a valid JSX element.
The types returned by 'render()' are incompatible between these types.
Type 'import("~/node_modules/.pnpm/@[email /node_modules/@types/react/index").ReactNode' is not assignable to type 'import("~/node_modules/.pnpm/@[email /node_modules/@types/react/index").ReactNode'.
Hai qualche idea su come risolvere questo?
Risposta n. 1
Esegui pnpm update --latest -r per aggiornare ricorsivamente tutte le dipendenze all'ultima versione. Questo dovrebbe fare in modo che tutti i pacchetti utilizzino versioni uniformi e risolvere tutti o la maggior parte degli errori.
Risposta n. 2
A volte, vecchie dipendenze potrebbero causare conflitti. Per assicurarti di avere un ambiente pulito, prova a cancellare la cache di pnpm eseguendo questo comando:
pnpm cache clear --force
