2017-05-25 61 views
0

我試圖用從AsyncStorage帶來的數據填充React Native的Picker組件。代碼如下:React native picker Android動態填充返回:無法讀取未定義的propertie'值'

  1. 負載在componentWillMount數據:

    StorageManager.get('clients').then((clients) => { 
        this.setState({ clientsData: clients }); 
    }); 
    
  2. RenderPicker方法:

    let clientList = this.state.clientsData.map((client) => { 
        const label = client.name; 
        const value = client.company; 
        return <Picker.Item label={label} value={value} />; 
    }); 
    
    return (
        <Picker 
         // Redux managed 
         selectedValue={this.props.clientId} 
         onValueChange={(itemValue) => 
         // Redux managed 
         this.props.invoiceFieldChanged({prop: 'clientId', value: itemValue}) } 
        > 
         <Picker.Item label="Select a client" value={0}/> 
         {clientList} 
    
        </Picker>); 
    

的行爲去選擇一個硬編碼選項時如預期,例如「選擇一個客戶端」,但是當我嘗試獲取其他選項時,會出現以下錯誤: enter image description here

有什麼想法?

回答

0

發現問題!看起來像你不能硬編碼一個項目,然後使用地圖。所以解決方案是預處理數據並給出一個數組。

相關問題