2017-08-31 66 views
0

這裏的尚未使用創建的目標反應解構重命名

從一個應用程序/模塊create-react-app

class Hoc extends React.Component { 
    render() { 
    const {component: Component} = this.props 
    return (
     <div> 
     <Component /> 
     </div> 
    ) 
    } 
} 

說明:

使用基本ES6解構與重命名,使反應元素可以被引用爲<Component />而不僅僅是變量{component}

我一直在從create-react-app創建的應用程序中成功使用它。這個語法記錄在fullstack react書中。這個問題出現在我正在處理的兩個反應模塊庫中,它們不是從create-react-app創建的。

可能的罪魁禍首是一個缺少babel插件。這個工作的應用程序已被彈出,所以我可以看到所有的依賴和插件,但我一直無法找到一個適用於此的應用程序。

嗯,可能是由只有create-react-app附帶的反應腳本之一處理。

.babelrc

{ 
    "presets": ["es2015", "stage-2", "react"], 
    "plugins": [ 
    "add-module-exports" 
    ] 
} 

編輯:

這是最低限度的要求一個例子來顯示的問題要解決。像this.props.children{React.cloneElement(this.props.component, {...this.props})}這樣的側步解決方案並不是解決特定問題的方法。乾杯!

+2

我認爲它更多的是將組件作爲道具傳遞的反模式。如果該組件可能發生變化,那麼您可以爲它應該包含的組件標記prop,然後對每個可能的組件使用常規導入,並使用邏輯來呈現正確的組件。或者,如果你只是將它傳給孩子,請使用'this.props.children'。 – Sia

+0

你可以顯示你的babel配置嗎? –

回答