React Native - this.state.data 与 this.data 有何不同?
React Native - What's the different about this.state.data with this.data?
我很困惑 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;
使用上面的代码,当 this.data
已经有一个数组时我无法渲染 <Text>Visit</Text>
,但是使用 this.state.data
我的应用程序可以渲染 <Text>Visit</Text>
,
所以我想知道 this.state.data
和 this.data
,
的区别
谁能给我解释一下?
this.state.data
指当前classstate
的data
属性,而this.data
指data
属性 当前 class。
一个组件的 State 是 React 环境的一个微不足道的部分,如果你不能理解这个区别我建议你检查 this.
我还建议你检查一下react official docs,几乎所有来自 React 的东西都适用于 React Native,对我来说,React Native 几乎和 React 一样,唯一的区别是你在 RN 中有更多有限的组件。我们可以说 RN 是 React
的一个子集
注意:属性 或属性与 React 规范
中定义的组件 props
不同
为了 React 的目的,最好利用状态。 this.state.data
指的是当前组件状态中存储的 data
prop。您可以通过调用 setState
方法来设置该值。另一方面,this.data
指的是当前 class 的 data
prop。您可以像更改 Javascript.
中的其他 class 变量一样更改其值
我很困惑 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;
使用上面的代码,当 this.data
已经有一个数组时我无法渲染 <Text>Visit</Text>
,但是使用 this.state.data
我的应用程序可以渲染 <Text>Visit</Text>
,
所以我想知道 this.state.data
和 this.data
,
谁能给我解释一下?
this.state.data
指当前classstate
的data
属性,而this.data
指data
属性 当前 class。
一个组件的 State 是 React 环境的一个微不足道的部分,如果你不能理解这个区别我建议你检查 this.
我还建议你检查一下react official docs,几乎所有来自 React 的东西都适用于 React Native,对我来说,React Native 几乎和 React 一样,唯一的区别是你在 RN 中有更多有限的组件。我们可以说 RN 是 React
的一个子集注意:属性 或属性与 React 规范
中定义的组件props
不同
为了 React 的目的,最好利用状态。 this.state.data
指的是当前组件状态中存储的 data
prop。您可以通过调用 setState
方法来设置该值。另一方面,this.data
指的是当前 class 的 data
prop。您可以像更改 Javascript.