Передача функции в качестве опоры функциональному компоненту

1

Попытка передать функцию в качестве опоры в функциональный компонент React и постоянно получать logThis is not a function ошибок. logThis is not a function

Родительский компонент является компонентом класса с функцией logToConsole. Я обобщил код ниже.

logToConsole = (value) => {
  console.log(value)
}
render(){
return(
<ChildComp logThis={this.logToConsole} />
)
}

ChildComp - это:

const ChildComp = (logThis) => (
  <button onClick={()=>logThis('test string')}>Click Here</button>
)

export default ChildComp
Теги:

3 ответа

3

Первым параметром logThis будет сам объект-подпорка. Вам необходимо деструктурировать объект logThis.

const ChildComp = ({ logThis }) => (
  <button onClick={() => logThis('test string')}>Click Here</button>
)

Или вы можете получить к нему доступ из props

const ChildComp = (props) => (
  <button onClick={() => props.logThis('test string')}>Click Here</button>
)
0

лог деструктура это из реквизита

const ChildComp = ({logThis}) => (
  <button onClick={()=>logThis('test string')}>Click Here</button>
)

export default ChildComp
0

Изменить на:

const ChildComp = (props) => (
  <button onClick={()=>props.logThis('test string')}>Click Here</button>
)

export default ChildComp

Ещё вопросы

Сообщество Overcoder
Наверх
Меню