По сути, я застрял при передаче состояния компонента родителя ребенку.У меня есть родительский компонент, который имеет слушателя динамического смещения содержимого, поэтому, если я прокручиваю вниз или вверх, он обновляет состояние с этим значением смещения.У меня также есть дочерний компонент, и внутри этого дочернего компонента у меня есть другой дочерний компонент (для более удобной навигации по коду).
Это родительский компонент.Я проверил, и состояние обновляется всякий раз, когда происходит прокрутка.
constructor(props) {
super(props);
this.state = {
contentOffset: 1
}
this.onScrollEvent = this.onScrollEvent.bind(this);
}
onScrollEvent = event => {
this.setState(
{
contentOffset: event.nativeEvent.contentOffset.y,
}
)
}
render() {
return (
<ScrollView
showsVerticalScrollIndicator={false}
onScroll={this.onScrollEvent.bind(this)>
<ChildOne
animation={this.state.contentOffset}/>
);
}
Дочерний компонент
constructor(props) {
super(props);
}
render() {
return (
<NestedChild
handleClick={this.openSettingsInHeader}
header="What the..."
transformAnimation={this.props.animation}/>
);
}
Дочерний компонент
constructor(props) {
super(props);
this.state = {
AnimatedTextValue: new Animated.Value(0),
ProfileOffset: this.props.transformAnimation
}
}
render() {
const animatedStyles = {
transform: [
{ scale: 0 }]} //how to link the AnimatedTextValue to ProfileOffset?
return (
<Animated.Text style={[styles.nameStyle,animatedStyles]}>Hi!</Animated.Text>
);
}
Мне нужно передать состояние для анимации компонента внутри дочернего компонента этого ребенка.