Я импортировал пользовательский component
в свой screen
и отобразил его в функции render()
. Затем создал ref
для этого пользовательского компонента. Теперь функция render()
выглядит следующим образом.
render() {
return (
<View>
<MyComponent ref={component => this.myComponent1 = component} />
<MyComponent ref={component => this.myComponent2 = component} />
<MyComponent ref={component => this.myComponent3 = component} />
</View>
)
}
Затем, в том же файле screen
, я создал другую функцию для доступа к состоянию моего пользовательского компонента. Я написал это так.
myFunction = (ref) => {
ref.setState({ myState: myValue })
}
Затем я хочу вызвать эту функцию для этих отдельных компонентов отдельно, как это. (В файле screen
)
this.myFunction(this.myComponent1)
this.myFunction(this.myComponent2)
this.myFunction(this.myComponent3)
Но это не работает. Это дает мне следующую ошибку.
null is not an object (evaluating 'ref.setState')
На самом деле мне нужно это myFunction
,
this.myComponent1.setState({ myState: myValue })
this.myComponent2.setState({ myState: myValue })
this.myComponent3.setState({ myState: myValue })
Состояние myState
находится в component
, а я хочу получить к нему доступ через myFunction()
в моем файле screen
.
Не могли бы вы помочь мне решить эту проблему?