Это проблема с областью видимости.Использование ключевого слова let
в функции, переданной вашему обещанию GET
, означает, что она доступна только внутри этой функции.
Я бы фактически предложил абстрагировать вещи в компонент, который будет управлять своим собственным соответствующим вызовом axios.,Как то так:
class Item {
componentWillMount(props) {
axios.get(Utilities.url + "Symbol/" + props.Id).then(response => {
this.setState({
data: {
...this.state.data,
...response.data,
})
});
}
render() {
if (!this.state.data) {
return null;
}
return (
<View
style={{
flex: 1,
justifyContent: "center",
alignItems: "flex-end",
alignSelf: "stretch",
marginRight: 2
}}
>
<Text
style={{
color: Colors.WHITE,
fontSize: 16
}}
>
{ this.state.data.id }
</Text>
</View>
);
}
}
function Parent(props) {
<FlatList renderItem={ ({ item }) => <Item id={ item.id } /> } />
}