【发布时间】:2019-10-30 14:12:27
【问题描述】:
所以我的问题是我需要在函数/组件中设置一个状态。 默认情况下,状态“isLoading”设置为 true (用于 ActivityIndicator ),我需要在组件内将其更改回 false 以便 indicator 停止工作,组件呈现结果。
代码如下:
const Data = require('../data/my_data.json');
export default class Albums extends React.Component {
constructor(props) {
super(props);
this.state = {
Data_list : Data,
isLoading: true,
};
componentWillMount() {
return this.state.Data_list.map(something=> (
<list_Detail key={something.id} something={something} />
));
}
render() {
if(this.state.isLoading){
return(
<View style={{flex: 1, padding: 20}}>
<ActivityIndicator/>
</View>
)
}
return (
<ScrollView>{this.componentWillMount()}</ScrollView>
)}
}
我已经试过了:
componentWillMount() {
return this.state.Data_list.map(something=> (
<list_Detail key={something.id} something={something} />
))
.then(this.setState({isLoading: false}));
}
但是没用
任何想法!!!!????
【问题讨论】:
-
为什么要使用指标从本地文件导入数据?
-
我使用了指标,因为导入数据需要时间(比如 3 秒),所以在这 3 秒内我需要显示指标,以便用户知道正在加载某些内容,他只需要等待它。现在在
stateisLoading设置为 true 所以指标可以显示在屏幕上,但在导入所有数据后我需要将其设置回 false跨度> -
@hongdevelop 我正在编辑我的帖子,以便您了解我到底在做什么
标签: function react-native components state activity-indicator