JS реагирует / Объявлен, но никогда не использовался

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я начал изучать JS и у меня возникли некоторые проблемы с моей функцией. Цель этой функции — показать 1 столбец таблицы и 1 флажок столбца (для каждой строки должен быть флажок).

Мой код:

 import React from 'react';
import { Table, Spin } from 'antd';
import PropTypes from 'prop-types';
import { useFetch } from 'innroad.common.ui';
import * as apiService from 'services/ApiService';

const AccountType = (onSelectingItems) => {
  const [data, isLoading] = useFetch(apiService.getAccountType);

  return (
    <Spin spinning={isLoading}>
      <Table
        key="id"
        bordered="true"
        rowKey="id"
        dataSource={data}
        rowSelection={{ onChange: onSelectingItems }}
        pagination={false}
      >
        <Table.Column title="Account Type" dataIndex="accountType" />
      </Table>
    </Spin>
  );
};

AccountType.propTypes = {
  onSelectingItems: PropTypes.func,
};

AccountType.defaultProps = {
  onSelectingItems: () => { },
};

export default AccountType;
  

В этой строке я получаю сообщение об ошибке («Определен propType’onSelectingItems’, но prop никогда не используется»). Но я использовал эту строку в своем коде, и я должен ее использовать. В чем моя ошибка?

 onSelectingItems: PropTypes.func,
  

Комментарии:

1. Как вы используете <AccountType /> JSX в родительском элементе ?. Кроме того, функциональные компоненты получают props параметр, вы должны его уничтожить: const AccountType = ({ onSelectingItems }) => {

Ответ №1:

Вам нужно выполнить деструкцию onSelectingItems из реквизита.

Попробуйте изменить свой код здесь:

 const AccountType = ({ onSelectingItems }) => {
  //code
};