Estoy tratando de pasar una función de eliminación al mapa con un parámetro, pero es como si no estuviera usando mi función. ¿Cuál sería la forma correcta de llamar a ''remove(i)'' dentro de InputTime en onRemove?
Component render() { const {remove} = this.props; return( <> <InputTime onRemove={() => remove(i)} {...this.props} /> </> ) } } // another class handlerRemove(){ ... } return( <Component remove={() => this.handlerRemove()} /> )Aquí tienes una solución.
render() { const {remove} = this.props; return( <> <InputTime time={hour} onRemove={() => remove(i)} {...this.props} /> </> ) } } Como ha hecho la destrucción usando const {values, remove} = this.props; , entonces no necesita agregar this para la función prop.
Código actual onRemove={() => this.remove(i)}
Cambie su código a onRemove={() => remove(i)}
A medida que el usuario cambia un poco el código, en base a eso, la solución
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} /> )