2017-08-08 18 views
0

我試圖解決這個lint錯誤在線const def = (props) => {在下面的示例代碼。反應:預期分配或函數調用,而不是看到一個表達

const propTypes = { 
prop1: PropTypes.string, 
prop2: PropTypes.string, 
prop3: PropTypes.string, 
prop4: PropTypes.string, 
prop5: PropTypes.string, 
} 

const abc = (props) => { 
some code here } 

const def = (props) => { 
<div> 
<div className=" ..some classes..">{abc}</div> 
<div className=" ..some classes..">{t('translation/something')}</div> 

<div ...> 
    <someComponent 
    do something 
    /> 

if (some condition) { 
do this 
} else { 
do that 
} 

</div> 

}; 

任何想法,爲什麼我收到此錯誤皮棉?

+0

該行沒有任何問題。這是在你有HTML而不是JS的地方。 – jmargolisvt

+0

你不能在jsx裏有'if'。你需要使用'條件?如果爲true:if false'語法。 –

+0

即使我只是做'const def =(props)=> {

};' – User7354632781

回答

0

您沒有任何回報,至少從您的摘錄和評論。

const def = (props) => { <div></div> };

這不返回任何東西,你是用包裹花括號箭頭功能的身體,但沒有返回值。

const def = (props) => { return (<div></div>); }; OR const def = (props) => <div></div>;

,另一方面這兩種解決方案都返回一個有效作出反應的組成部分。請記住,在您的jsx(正如@Adam所提到的)內部,您不能擁有if ... else ...,而只能使用三元運算符。

+0

謝謝。如果我做'onst def =(props)=>

;'我得到錯誤'單個函數參數周圍有一個沒有花括號的身體的意外括號,如果我做'const def =(props)=> {return(
); };'我得到錯誤'周圍的箭頭體'意外的塊語句' – User7354632781

+0

然後只需嘗試'const def = props =>(

);' – G4bri3l

+0

再次感謝。與它不會顯示錯誤,但我得到'PropName缺少道具驗證'裏面的所有專業人士。任何想法爲什麼? – User7354632781

相關問題