2016-05-24 1856 views
2

我正在使用typescript來編寫redux應用程序。Typescript抱怨使用React.createClass時,屬性在類型'JSX.IntrinsicElements'上不存在?

var item = React.createClass({ 
    render: function() { 
    return (<div>hello world</div>) 
    } 
}); 

export default class ItemList extends Component<any, any> { 
    render() { 
     return (<item />) 
    } 
} 

然後打字稿抱怨這一點:

Property 'item' does not exist on type 'JSX.IntrinsicElements'. 
+1

嘗試與帕斯卡的情況下使用這個。它的區分大小寫 –

+0

@ RM-123不,它可以是'item'。小寫的「item」是一個有效的HTML元素名稱。自定義元素都可以是小寫元素,就像內部元素一樣。 – trusktr

回答

4
var Item = React.createClass({ 
    render: function() { 
    return (<div>hello world</div>) 
    } 
}); 

export default class ItemList extends Component<any, any> { 
    render() { 
     return (<Item />) 
    } 
} 
+7

要明確未來的面子,訣竅是'Item'中的大寫字母'I'。我們在這裏都有同樣的判斷力,在這裏嘗試駱駝反應元素。有機會,如果你正在閱讀這篇文章,你會被剝奪足夠的睡眠時間以致錯過那封大寫字母。 –

相關問題