我正在使用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的链接) 它发现没问题。
我输出错误了吗?