2016-12-02 6 views
0

Я пытаюсь использовать propTypes для моего приложения RN, но оно никогда не кажется принудительным. Мой компонент выглядит примерно так:React Native propTypes не работает

import React, { Component } from "react"; 
import { Text } form "react-native"; 

export class Table extends Component { 
    render() { 
    return (<Text>...</Text>); 
    } 
} 

Table.propTypes = { 
    data: React.PropTypes.string, 
}; 

Это не предупреждал я прошел ряд в компонент из другого файла, как это:

<Table data= { 2000 } /> 

Так что я попытался сделать propTypes статическое свойство Table, потому что Я видел некоторые вещи о ES6 работе с propTypes таким образом:

import React, { Component } from "react"; 
import { Text } form "react-native"; 

export class Table extends Component { 
    static propTypes = { 
    data: React.PropTypes.string, 
    }; 

    render() { 
    return (<Text>...</Text>); 
    } 
} 

Затем я попытался добавить плагин к моим .babelrc филам е

"plugins": [ 
    "transform-class-properties", 
] 

Я попытался сделать пропеллер требуется

static propTypes = { 
    data: React.PropTypes.string.isRequired, 
}; 

Я даже попытался изменить export class Table... к export default class Table... не повезло. Я пробовал каждую комбинацию перечисленных выше методов безрезультатно. Что мне не хватает?

+0

Я не знаю, знаете ли вы об этом , но вы должны передать опору с использованием символа «equals».

Возможно, это проблема. –

+0

Это была опечатка в моем посте, мой фактический код использует '=', извините, что , Я исправил это в своем сообщении. – mithunm93

+1

React proptypes работает только в среде разработки, поэтому убедитесь, что вы не в производстве env –

ответ

0

Проблема, казалось, исчезла сама по себе, когда я возился с кодом. Возможно, это была проблема env, например, @asaf david, я не уверен. Я попытался вернуться и изменить материал, чтобы посмотреть, могу ли я воспроизвести его, но я не мог :(Прошу прощения, если кто-то ищет это в будущем.

+0

У меня такая же проблема. как вы можете это исправить? Я не вижу предупреждения или рекомендовал, когда нажимаю CTRL + Пробел в VSCode – MasterLuV

+0

Как я уже сказал, он как-то исправил себя и попытался как бы я не смог воспроизвести проблему, извините! – mithunm93

-1

Вот как я использую:

export default class Link extends Component { 
    render() { 
     return (
       <Text >{this.props.text || 'Text'}</Text> 
     ) 
    } 
} 

Link.propTypes = { 
    text: React.PropTypes.string, 
} 

Попробуйте. Может быть, может вам помочь.

+2

Вы делаете то же самое, что и OP wrt to propTypes. Как это может измениться, если оно не отличается? –

+0

Спасибо за предложение, но @FelixKling прав, Я пробовал эту точную вещь, и она не работает. – mithunm93

Смежные вопросы