我很困惑有什么this.state.data
不同this.data
假设我有这样的代码:
componentWillMount(){
console.log(this.props.navigation.state.params.list);
api.get('my API Url')
.then((response)=> {
this.setState({data: JSON.parse(response.data)[0]})
this.data=JSON.parse(response.data)[0]
})
.catch((err)=>{
console.log("axios catching error")
Alert.alert("failed", "Retry to retrieve from API", [{text:'OK', onPress:()=>{this.componentWillMount()}}])
console.log(err)
})
}
constructor(props){
super(props);
this.state ={ data:[] }
this.data=[]
}
class Visit extends React.Component {
render() {
if (this.data.length==0){
return(
<Loader/>
)
}
return (
<Text>Visit</Text>
);
}
}
export default Visit;
使用上面的代码,<Text>Visit</Text>
当this.data
已经有一个数组时我无法渲染,但是this.state.data
我的 App 可以渲染<Text>Visit</Text>
,
所以我想知道this.state.data
with的不同之处this.data
,
谁能解释我?