Я пытаюсь передать встроенную функцию реакции через реквизит и пытаюсь установить состояние, но я получаю this
как неопределенный!Реакция вложенного компонента с помощью встроенной функции (без потока)
я пытался что-то вроде этого:
index.js
let somefun = function(){
this.setState({myvar:1});
}
ReactDom.render(<someComponent body={<someOtherComponent1 componentWillUpdate={somefun}/>} />, document.getElementById('someValidID'));
someOtherComponent1.js
React.createElement(someOtherComponent1, { "className": "someclass"})
Моя проблема, когда я прохожу встроенную функцию ИЭ , функции, присутствующие в прототипе реакции this
, всегда не определены.
Как я могу отправлять встроенные функции через реквизиты?
спасибо за ответ ... но я пытаюсь работать некоторые абстракции здесь .. Я не хочу, чтобы установить sumeFunc внутри компонент ... причина в том, что этот компонент является многоразовым компонентом, и единственное, что является динамическим для этого компонента, - это 'componentWillUpdate' func, поэтому я искал способ указать его извне компонента (передать его из родительский компонент или что-то подобное) habe у вас есть идеи о том, как это сделать? –
Было бы так. Пока ваш компонент всегда вызывает переданную функцию (вы могли бы даже назвать ее onComponentWillMount, чтобы сделать ее более понятной), она будет работать. То, что вам нужно, - это методология микширования более старого React, но они больше поддерживаются. Имейте в виду, что вы можете определить onComponentWillMount на лету. См. Обновленный ответ. –