Как вы предоставляете дополнительный параметр для вызова функции, если аргумент предоставляется неявно? - PullRequest
2 голосов
/ 17 марта 2020
export const SelectedChoice: (choiceProps) => { ... }

<ChoicePicker {...props}

     onRenderItem={SelectedChoice}

/>

У меня есть это, неявно предоставляется аргумент choiceProps, но теперь я хочу добавить функцию ко второму аргументу, чтобы я мог вызывать ее внутри SelectedChoice, как мне это сделать? Проблема в том, что я не знаю, что передается в SelectedChoice, поэтому я не могу вызвать его явно, не нарушив функцию. Если бы я знал, что передавалось как choiceProps, у меня не было бы этой проблемы. Я чувствую, что он вызывается как функция обратного вызова, и аргумент явно указан внутри onRenderItem, но я могу ошибаться.

1 Ответ

5 голосов
/ 17 марта 2020

Возможно, вы сможете проверить объект arguments, который неявно существует в теле функции SelectedChoice, например:

export const SelectedChoice: (choiceProps) => {
   if(arguments.length === 1) {
      // do something if no function was passed
   }
   else if(arguments.length === 2 && typeof arguments[1] === "function") {
      // call the passed function
      arguments[1]();
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...