【发布时间】:2020-08-01 18:52:51
【问题描述】:
我需要使用 json 中的 url 并将其呈现在屏幕上,使用 React Native 和 axios。 我得到了这个网址:
teste() {
api.get('photos').then(
function imagens(response) {
var i = 1;
for (i; i < 2; i++) {
urlDaImagem = response.data[i].url
console.log('em cima->' + urlDaImagem)
}
return urlDaImagem
})
}
我需要将“urlDaImagem”放在 Image 组件中。 整个代码:
import React from 'react';
import {
SafeAreaView,
StyleSheet,
ScrollView,
View,
Image,
StatusBar
} from 'react-native';
import api from '../api';
var urlDaImagem
class PaginaPrincipal extends React.Component {
teste() {
api.get('photos').then(
function imagens(response) {
var i = 1;
for (i; i < 2; i++) {
urlDaImagem = response.data[i].url
console.log('em cima->' + urlDaImagem)
}
return urlDaImagem
})
}
render() {
return (
<>
<StatusBar barStyle="dark-content" />
<SafeAreaView>
<ScrollView contentInsetAdjustmentBehavior="automatic">
<View style={styles.sideBySideImages}>
<Image style={styles.imagens} source={{ uri: urlDaImagem }} />
</View>
</ScrollView>
</SafeAreaView>
</>
)
}
}
const styles = StyleSheet.create({
imagens: {
width: "45%",
height: 183,
marginBottom: 5,
marginTop: 5,
marginStart: "3%",
marginEnd: "1%"
},
sideBySideImages: {
flex: 1,
flexDirection: 'row',
flexWrap: 'wrap'
}
});
export default PaginaPrincipal;
【问题讨论】:
-
在这种情况下如何使用状态?
-
你能推荐我怎么做吗?在这个案例中
-
基本上你所要做的就是在状态对象中添加 urlDaImagem 的初始值,然后在 imagens 函数中你可以使用 setstate 来更新 urlDaImagem 的值。
-
teste() 函数什么时候调用?无论是点击任何 touchable 还是 componentDidMount,在这两种情况下都必须使用 state,将更新后的 url 保存在 state 和 render() 方法中,您可以使用它
标签: javascript react-native axios