Quantcast
Channel: Active questions tagged react-native+typescript - Stack Overflow
Viewing all articles
Browse latest Browse all 6214

How to use prop-types as type definition in typescript?

$
0
0

Situation:

Consider having the myTypes constant holding prop-types (written somewhere in a file called my-component.js), like below:

import React from 'react'import { View } from 'react-native'import PropTypes from 'prop-types'export const myTypes = {  activeColor: PropTypes.string,  color: PropTypes.string,  fontFamily: PropTypes.string,  fontSize: PropTypes.number,  fontWeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),  height: PropTypes.number,  icon: PropTypes.node,  iconOverlay: PropTypes.node,  marginBottom: PropTypes.number,  marginLeft: PropTypes.number,  marginRight: PropTypes.number,  marginTop: PropTypes.number,  maxHeight: PropTypes.number,  minHeight: PropTypes.number,  onBlur: PropTypes.func,  onChangeText: PropTypes.func,  paddingBottom: PropTypes.number,  paddingLeft: PropTypes.number,  paddingRight: PropTypes.number,  paddingTop: PropTypes.number}export default class MyComponent extends React.Component {  static propTypes = myTypes  render () {    return (<View></View>    );  }}

How would you use myTypes as a type or helper to enable IDE auto-completion?

What I tried (in another file written in type-script as well) is below:

import MyComponent, { myTypes } from 'my-component';const dark_theme_properties: myTypes = {  activeColor: 'green'};

But of course, that gives the 'myTypes' refers to a value, but is being used as a type here. ts(2749) error.


Edit: the question in the old title was "How to use a value as a type definition in typescript?", which thanks to the answers, I now know would be as simple as using typeof keyword, like:

const dark_theme_properties: typeof myTypes = {  activeColor: 'green'  // ...};

Viewing all articles
Browse latest Browse all 6214

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>