#javascript #reactjs #typescript #react-native
Вопрос:
Я пытаюсь передать функцию удаления на карту с параметром, но это похоже на то, что я не использую свою функцию. Как правильно было бы вызвать «удалить(i)» внутри времени ввода в onRemove?
Component
render() {
const {remove} = this.props;
return(
<>
<InputTime
onRemove={() => remove(i)}
{...this.props}
/>
</>
)
}
}
// another class
handlerRemove(){
...
}
return(
<Component remove={() => this.handlerRemove()} />
)
Ответ №1:
Вот вам и решение
render() {
const {remove} = this.props;
return(
<>
<InputTime
time={hour}
onRemove={() => remove(i)}
{...this.props}
/>
</>
)
}
}
Поскольку вы выполнили разрушение с помощью const {values, remove} = this.props;
, вам не нужно добавлять this
функцию для поддержки.
Текущий код onRemove={() => this.remove(i)}
Измените свой код на onRemove={() => remove(i)}
По мере того, как пользователь немного изменяет код, на основе этого решение
Component
render() {
const {remove} = this.props;
const arg = "test";
return(
<>
<InputTime
onRemove={() => remove(arg)}
{...this.props}
/>
</>
)
}
}
// another class
handlerRemove(passedArg){
console.log("passedArg", passedArg);
}
return(
<Component remove={this.handlerRemove} />
)
Комментарии:
1. интересное объяснение, спасибо. Я пробовал этот способ, и он не сработал. Я передаю функцию из класса в этот класс следующим образом: <Компонент onRemove={this.handleRemoveTime} />
2. @RenanFernandes добавьте некоторые изменения, посмотрите
3. спасибо, но моя проблема все еще не решена. Если моя функция handleRemove получит параметр, как я отправлю его через onRemove? @Shiladitya