Typescript и Redux: элемент привязки 'string' неявно имеет тип 'any' - PullRequest
0 голосов
/ 20 марта 2020

В моем приложении React Native для Android у меня есть компонент, который использует Redux.

Как указано "Hemant" в этом потоке, я должен пройти действие, которое также импортируется как props в компонент. Сейчас я пытаюсь правильно набрать действие, но оно выдает ошибку: Binding element 'string' implicitly has an 'any' type, и я не понимаю, почему.

Вот код:

imports ...
import {reduxAction} from '../../../store/searchBar/actions';

type Props = {
  reduxAction: ({value: string}) => void;
};

const SearchBar: React.FC<Props> = ({reduxAction}) => { 

// calling the action method
const sendNamesToReduxStore = (names: string) => {
  // ... some other logic
  // calling the action method
  reduxAction({value: names});
};

Как видите, при вызове метода действия names объявляется как string. Поэтому я также объявляю это как string в Props. Я думал, что это было абсолютно правильно. Обратите внимание: когда я делаю reduxAction: ({value: any}) => void;, выдается та же ошибка, что и выше, с any: Binding element 'any' implicitly has an 'any' type.

Не могли бы вы сказать мне, что я делаю здесь неправильно?

1 Ответ

0 голосов
/ 20 марта 2020

В случае, если кто-то еще борется с этой проблемой:

Вы должны объявить тип переменной в вашей функции с типом, указанным в действии.

reduxAction: (value: reduxActionState) => void;

... потому что в actions.ts я объявил

export const reduxAction = (value: reduxActionState): ResultValueType => ({
  type: SET_RESULT_VALUE,
  payload: value,
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...