6

当我编译我的代码时,ESlint 给了我这个警告。我们正在使用 AirBNB 配置。

import React from 'react';
import { Link } from 'react-router-dom';

const ProfileInterestSkillButtons = ({
    tags, title, user, member,
}) => {

    return (
        <div>
           {title}
        </div>
    );
};

export default ProfileInterestSkillButtons;
4

2 回答 2

14

您的组件正在使用一个名为tags它的道具,该道具是从其父组件接收的。

ESLint 只是警告您在使用它的组件中为该道具定义类型检查。您可以通过 usingPropTypes或 using来做到这一点flow

使用 PropType 的简单示例是:

... // other imports
import PropTypes from 'prop-types';

... // your component declaration

ProfileInterestSkillButtons.propTypes = {
  tags: PropTypes.array.isRequired,
  title: PropTypes.string.isRequired,
  ... // and more
};

export default ProfileInterestSkillButtons;

道具类型: https ://reactjs.org/docs/typechecking-with-proptypes.html

流程:https ://flow.org/en/docs/react/

于 2018-01-05T06:03:43.287 回答
0

使用流

使用 flow 对 props 进行类型检查的快速方法。

// @flow
import React from 'react';
import type { Node } from 'react';
import { SafeAreaView, ScrollView, StatusBar, StyleSheet } from 'react-native';

const ScreenDefaultView = (props: { layout: Node, scrollableLayout?: boolean } ) => {
    const layout = props.layout;
    const scrollableLayout = props.scrollableLayout;
    return ( ...

注意:为了添加可选参数或在 Flow 中调用,可能只需添加一个?.

// scrollableLayout? is optional note the ? 
props: { layout: Node, scrollableLayout?: boolean }

流程文档

于 2021-10-25T06:05:17.310 回答