reactjs - 样式化组件 - 如何防止道具被传递给扩展组件?
问题描述
我正在扩展Textarea
,我想completed
被访问,StyledItemTextarea
但不是Textarea
。我怎样才能做到这一点?
import Textarea from 'react-textarea-autosize';
const TextareaAutosizeSC = styled(Textarea)`
...
`;
const StyledItemTextarea = TextareaAutosizeSC.extend`
color: ${({ completed }) => completed ? '#ccc' : '#fff'};
`;
const MyTextarea = ({ completed }) => <StyledItemTextarea completed={completed} />;
解决方案
也许是这样的:
const TextareaAutosizeSC = ({ completed, ...rest }) => {
const TextArea = styled(Textarea)`
...
`;
return <TextArea {...rest} />
}
或者
const TextareaAutosizeSC = styled(Textarea)`
...
`;
const TextAreaWithoutSomeProps = ({ completed, ...rest }) => <TextareaAutosizeSC {...rest} />
推荐阅读
- service - 如何在 SFCC (Demandware) 中实现 serviceworker
- android - 我应该在哪里初始化监听器?
- android - 如何修复设备和 Google Play 上的应用程序之间的不兼容问题?
- angular - 如何使用 ngIf 显示/隐藏 ngx-boostrap 弹出框
- r - 将集成的 R 图与 ggplot 结合起来
- machine-learning - 在微分的情况下,MSE 中的术语顺序是否重要?
- c# - Listview 删除特定文件名
- amazon-web-services - 如何重命名粘合作业输出文件名?
- django - 如何将令牌身份验证添加到标头
- laravel - Laravel 5 - 使用登录表单(用户)和 API 请求(学生)进行身份验证