2016-05-11 19 views
0

我已將if-else元素添加到我的React組件中,每個documentation;但是,由於包含React組件與<></>{}之間的語法差異,我不確定如何進一步配置該組件。配置If-Else組件,React

下面是我所(寫在打字稿)的簡化版本:

public render() { 
    const mediaElement: HTMLMediaElement = this.getMediaElement(); 
    return { mediaElement }; 
} 

下面是getMediaElement()降低:

private getMediaElement() { 
    //... video can also be returned 
    return document.createElement("audio"); 
    //... 
} 

從這裏,最好是內聯,我想能夠添加類信息等等,類似於(也可以在React中實現):

<li className="media-file-title"> 

如何使用上述語法訪問元素上的屬性?最終,我需要分配參考。任何文檔都會很棒!

難道只有通過對象的屬性是可行的,即:

mediaElement.src = ""

+0

你可以粘貼你的'getMediaElement()'方法實現嗎?如果'getMediaElement()'返回一個React類或一個普通的html元素,我不明白嗎? – drinchev

+0

@drinchev只是一個普通的HTML元素。發佈。 – Thomas

回答

2

我覺得你最好的辦法是使一個作出反應,而不是普通的HTML元素元素。見React.js write components directly in HTML

您可以重寫代碼,如:

private getMediaElement(src) { 
    //... video can also be returned 
    return (<audio src={ src } />); 
    //... 
} 

public render() { 
    const mediaElement = this.getMediaElement(this.props.src); 
    return (mediaElement); 
} 

然後你就可以在以後通過您的組件的道具訪問類的道具。