2016-08-22 59 views
4

我正在使用以下由linter eslint-plugin-react解析的代碼。它返回警告:道具從道具驗證中丟失

「產品在道具驗證缺失」

,而我在propTypes底部聲明產品,而我把它傳遞給函數。任何想法 ?

import React from 'react' 

const ProductDesc = (props)=>({ 
    render(){ 
    return (
     <div> 
     <h1>{props.product.headline}</h1> 
     <img src={props.product.images[0].imagesUrls.entry[2].url} alt="Thumbnail large pic"/> 
     <p>Yeah</p> 
     </div> 
    ) 
    } 
}) 

ProductDesc.propTypes = { 
    product: React.PropTypes.object 
}; 

export default ProductDesc; 
+3

的棉短絨可能會搞不清楚,因爲你定義似乎不是一個有效的什麼陣營的組成部分。你要麼必須創建一個'class'或者使用一個返回要呈現的東西的函數。你的函數用'render'方法返回一個對象。 –

+0

由於您從不檢查* product *是否存在,您最終應該在* propTypes *上使用* React.PropTypes.object.isRequired *。 –

+0

好吧我刪除了渲染(),這是搞砸組件 – Nicc

回答

1

語法應該已經

const ProductDesc = (props)=>{ 
    return (
     <div> 
     <h1>{props.product.headline}</h1> 
     <p>Yeah</p> 
     </div> 
    ) 
}