在React Native中不是关于未定义的错误的对象

时间:2019-06-13 10:33:14

标签: reactjs react-native

我正在从Rest api获取数据列表,我正在将数据设置在选择器中(下拉微调器)。但是它无法正常显示错误,请检查我的代码并提出一些解决方案。

 constructor(props)
    {
      super(props);
      this.state = { 
      isLoading: true,
      PickerValueHolder : ''
     }
    }
 componentDidMount() {
        this.FreelancerLevelSpinner();
 }

            FreelancerLevelSpinner = async ()=>{
                return fetch('taxonomies/get_list?list=freelancer_level')
                .then((response) => response.json())
                .then((responseJson) => {
                this.setState({
                    freelancerLevel: responseJson
                }, function() {
                    // In this block you can do something with new state.
                });
                })
                .catch((error) => {
                console.error(error);
                });
            }

在这里,我正在选择器中设置数据...

<Picker
            selectedValue={this.state.PickerValueHolder}

            onValueChange={(itemValue, itemIndex) => this.setState({PickerValueHolder: itemValue})} >

            { this.state.freelancerLevel.map((item, key)=>(
            <Picker.Item label={item.title} value={item.value} key={key} />)
            )}

          </Picker>

显示此错误...

TypeError: TypeError: undefined is not an object (evaluating 'this.state.freelancerLevel.map')

1 个答案:

答案 0 :(得分:4)

您需要添加freelancerLevel来初始化状态:

this.state = { 
   isLoading: true,
   PickerValueHolder : '',
   freelancerLevel: []
}