Попытка передать функцию в качестве опоры в функциональный компонент 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
Первым параметром 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>
)
лог деструктура это из реквизита
const ChildComp = ({logThis}) => (
<button onClick={()=>logThis('test string')}>Click Here</button>
)
export default ChildComp
Изменить на:
const ChildComp = (props) => (
<button onClick={()=>props.logThis('test string')}>Click Here</button>
)
export default ChildComp