在渲染方法

时间:2017-05-06 02:45:50

标签: javascript reactjs ecmascript-6

我正在使用Styled Components但是在尝试为自己创建的组件设置样式时遇到了问题。

它以正常方式从单独的npm包导出。

封装

FormComponents.js

export SubmitButton from './_submit-button';

_submit-button.js

export styled.button`somestyles`;

components.js

import * as Form from './form-components';
export { Form }

index.js

import * as Components from './components'
export const FormComponents = Components.Form;

然后在我的实际组件中,我想使用它:

import { FormComponents as Form } from 'packagename';
const Button = styled(Form.SubmitButton)...

我收到的错误无法读取undefined的SubmitButton。

但是,如果我将const Button = ...放在render方法中,它会发现一切正常。所以我假设在React启动之前,组件没有被实例化。

但是,可以使用其他元素,例如,如果我将其更改为使用:

const Button = styled(Link)

(来自react-router-dom的链接) 它发现没问题。

我输出错误了吗?

0 个答案:

没有答案