Я пытаюсь понять, как сделать 2 вещи в React-Native.React-Native: ScrollView, refs и пользовательские компоненты
Вопрос 1. У меня есть компонент и другой пользовательский компонент, который мне нужно прокрутить внутри ScrollView.
Проблема в том, что я слишком новичок в реагировании, чтобы понять, как из моего «дочернего» компонента я могу получить доступ к scrollview. Примечание: если я не использую настраиваемый компонент и не помещаю все в компонент MainView, код работает нормально.
Вот основы кода:
class MainView extends React.Component{
render() {
return (
<ScrollView ref='scrollView'>
<MyCustomComponent />
</ScrollView>
)
}
}
class MyCustomComponent extends React.Component{
inputFocused(refName) {
setTimeout(() => {
let scrollResponder = this.refs.scrollView.getScrollResponder();
scrollResponder.scrollResponderScrollNativeHandleToKeyboard(
React.findNodeHandle(this.refs[refName]),
110, //additionalOffset
true
);
}, 50);
}
render() {
return (
<TextInput ref='fieldtitle'
onFocus={this.inputFocused.bind(this, 'fieldtitle')}
/>
)
}
}
Вопрос 2: как у меня «ребенок» (MyCustomComponent) компонент вызова метода, который реализуется на родительском компоненте (MainView). Причина этого в том, что у меня есть куча немного разных «MyCustomComponents», и я не хочу реализовывать один и тот же шаблонный код для прокрутки во всех них.