2016-07-12 117 views
0

返回最後一個子對象我有一個密鑰對對象對象。 I Object.assign中間層,以便新對象是對象內的對象。陣營:一個<em>對象</em>內的<em>對象</em>內嵌套的道具

我把這個新物體作爲道具發送出去。

我可以CONSOLE.LOG新的父母和孩子,並看到物體,而是試圖CONSOLE.LOG最後一個子返回

Uncaught TypeError: Cannot read property 'child' of undefined.

Wagwan?

obj: 
    { 
    Something: Null, 
    Grandparent: { 
     SomethinElse: Null, 
     Parent: { 
      SomethingMore: Null, 
      Child: { 
       SomeValue: "Duck" 
      } 
     } 
    } 

newObj: 
    Child: { 
     SomeValue: "Duck" 
    } 

然後我設置

this.state.cow: newObj 

然後,我發送到組件並調用

{console.log(this.props.cow)} 

Object: {SomeValue: "Duck"}

好。然後,我無論是登錄還是在這個相當基本的問題,使

{console.log(this.props.cow.SomeValue)} 

Uncaught TypeError: Cannot read property 'SomeValue' of undefined

的理解非常感謝。

export default class AwsReadFunction extends React.Component { 
 

 
    constructor(){ 
 
    super(); 
 
    this.state={ 
 
     main: {}, 
 
     info: {}, 
 
     cows: {} 
 
    }; 
 
    } //constructor END 
 

 
    componentDidMount() { 
 
    var docClient = new AWS.DynamoDB.DocumentClient() 
 
    var table = "Movies"; 
 
    var year = 1944; 
 
    var title = "Lifeboat"; 
 
    var params = { 
 
     TableName: table, 
 
     Key:{ 
 
     "year": year, 
 
     "title": title 
 
     } 
 
    }; 
 

 
    docClient.get(params, (err, data) => { 
 
     if(err){ 
 
     console.log(JSON.stringify(err)); 
 
     } else { 
 
     var ca = Object.assign({}, data.Item.info.cows); 
 
     this.setState({ 
 
      main: data.Item, 
 
      info: null, 
 
      cows: ca 
 
     }); 
 
     } 
 
    }); 
 

 
    render(){ 
 
    return (
 
     <div> 
 
     <List main={this.state.main} cows={this.state.cows} /> 
 
     </div> 
 
    ) 
 
    } 
 
} 
 
export default class List extends React.Component { 
 
    render(){ 
 
    return (
 
     <div> 
 
     List cows-fish: {this.props.cows.fish} <br /> 
 
     </div> 
 
    ) 
 
    } 
 
}

+1

請張貼相關部分你的代碼在你做這個操作的時候,你現在解釋了,這是錯誤的,告訴錯誤在哪裏。 –

+0

這種商店將來會殺了你.. – webdeb

+0

你爲什麼不使用** Redux **? – webdeb

回答

0

我看不出有什麼不對您的代碼背後的邏輯。如果我要賭錢,我會猜想這是一個錯誤的地方。這些都是一些矛盾,我注意到:

  • 在您的例子中的物體,Child有一個大寫字母C,而在錯誤信息是小寫

  • 你似乎AwsReadFunction中缺少一個右大括號,在render方法聲明之前。

  • 你在幾個地方使用cow,然後cows在其他

這顯然只是一個猜測,但它不會傷害到仔細檢查:)

+0

你知道嗎,我有點慚愧。這不是代碼。我的watchify停止更新。我重新啓動了服務並且bam。有用。我會接受你的回答,因爲它讓我再次看到基本知識。謝謝。 –

相關問題