2017-10-04 38 views
1

我使用的反應,我在我的代碼是這樣的:出口默認的箭頭功能無法導入

renderDetails.js:

export default renderDetails = (details) => { 
    // function logic removed for brevity 
} 

然後,在同一個文件夾中,我有,我想將其導入另一個源文件,我做這樣的事情:

businessDetails.js:

import renderDetails from './renderDetails'; 
// rest removed for brevity 

但是,我收到一條錯誤消息,指向我的renderDetails.js文件並說​​:「rederDetails未定義」。任何想法可能是什麼問題,以及如何解決它?

+0

你可以直接寫這個'export default(details)=> {..}'並且按照上面的方式輸入將會工作 – Panther

回答

4

的問題是,即使您將組件導出爲默認組件,但您要爲其指定一個未定義的名稱

你可以做

export default (details) => { 

} 

const renderDetails = (details) => { 

} 
export default renderDetails; 

還有一兩件事,當你試圖渲染成分,確保他們的名字與Uppercase字符開始。

+0

感謝您的澄清。 – typos

+0

如果你想渲染一個React組件,你還需要使用大寫的第一個字符 –

0

通過使用命名的出口,你可以從一個單一的文件導出任意數量的功能是這樣的: renderDetails.js

var func1 = function(){ 
//logic 
} 

var func2 =()=>{ 
//logic 
} 

export {func1, func2}; 

,並導入它是這樣的:

import {func1, func2} from './renderDetails';

1

嘗試這種方式。

functions.jsx

export function renderDetails(details) => { 
    // function logic removed for brevity 
} 

然後導入一樣,

import { renderDetails } from './functions'; 

附: ./適用於兩個文件位於同一名稱空間/文件夾中的情況。