Code Monkey home page Code Monkey logo

Comments (8)

sullvn avatar sullvn commented on June 29, 2024 3

As @mathieudutour suggested, you can import the types from @types/react-native.

I got it working by making a src/@types/react-primitives/index.d.ts file with the following contents:

declare module 'react-primitives' {
  export {
    StyleSheet,
    View,
    Text,
    Image,
    Touchable,
    Animated,
  } from 'react-native'
}

There will be one more step if you're using React Primitives in a Webpack build. Webpack and React Native both declare global, incompatible type definitions for require.

So you'll have add the following to your tsconfig.json to just avoid type-checking node_modules (which is faster anyways):

{
  "compilerOptions": {
    // Required for using `react-primitives` types, but
    // also makes typechecking faster in general.
    //
    // The problem actually stems from this project using
    // `@types/react-native` to fake types for `react-primitives`.
    // React Native and Webpack both define a global `require`
    // differently, so there's a conflict.
    "skipLibCheck": true,
  }
}

Hopefully that helps!

I would normally make a PR to this repo or DefinitelyTyped to just add these, but I'm not familiar enough with React Native and Primitives to know if it's truly a one-to-one types match. Can someone more in-the-know help with that?

from react-primitives.

brunolemos avatar brunolemos commented on June 29, 2024 1

Someone posted a similar code from above on DefinitelyTyped so you can do this now:
yarn add --dev @types/react-primitives.

from react-primitives.

FiberJW avatar FiberJW commented on June 29, 2024

+1

from react-primitives.

andrespch avatar andrespch commented on June 29, 2024

Any updates on this? did you solve this somehow @alexleung @fiber-god ?

from react-primitives.

ozyman42 avatar ozyman42 commented on June 29, 2024

Haven’t had time to write the definitions

from react-primitives.

mathieudutour avatar mathieudutour commented on June 29, 2024

The definitions shouldn't be too hard to write, it's basically a subset of the react-native types. You even probably import the types from react-native directly

from react-primitives.

davidpett avatar davidpett commented on June 29, 2024

This issue can be closed as there is a @types/react-primitives package

from react-primitives.

ersinakinci avatar ersinakinci commented on June 29, 2024

I've installed @types/react-primitives but I'm still getting this error. Do I need to add some line of code to map the import statement to the declaration file?

from react-primitives.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.