小编San*_*tas的帖子

将多个样式元素与样式组件组合在一起

我知道,我们可以扩展或添加样式到现有的组件与类似风格的组件Link的组件react-router-dom。所述特征在此处指示。但是,我的问题是,如何组合两个或多个现有组件然后添加更多样式?

就我而言,我有一个可重用的组件用于文本元素,例如span,p以及a标准字体大小、字体粗细等。同时,我想使用 react-router-dom 的 Link 组件。目前,我有这样的事情:

import styled from 'styled-components';
import { Link } from 'react-router-dom';
import { TextElement } from '../common';

/*
Can I do something like this?
const MyLink = styled(Link, TextElement)`
    margin: 10px 0;
`;

or this?
const MyLink = styled([Link, TextElement])`
    margin: 10px 0;
`;
*/

const MyPage = props => (
   <>
       <MyLink to="/next-page" />
   </>
);
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激。

编辑

我的TextElement组件是这样的:

const …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs styled-components

8
推荐指数
2
解决办法
8067
查看次数

相对于不是其父元素的另一个元素定位元素

考虑到对话框、模式、工具提示等组件的堆叠索引应高于 HTML 页面中任何其他元素的堆叠索引,我将这些组件放置在root放置所有其他元素的元素的直接同级元素中。React 开发人员很快就会认识到这一点,他们会知道我正在尝试使用React Portals。您可以在这里将其可视化:

<body>
  <div id="root">
    // ----- other elements -----
    <div id="supposed-parent" />
    // ----- other elements -----
  </div>
  <div id="dialog-container">
    <div id="supposed-child" />
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

那么,我该如何定位#supposed-child在旁边或旁边#supposed-parent呢?任何帮助,将不胜感激。

html javascript css reactjs

7
推荐指数
1
解决办法
9158
查看次数

将id属性插入由react-emotion创建的样式化组件

使用React组件对普通HTML元素进行样式设置的基本用法react-emotion如下:

import React from 'react';
import styled from 'react-emotion';

const StyledContainer = styled.div`
  display: block;
  box-sizing: border-box;
`;
Run Code Online (Sandbox Code Playgroud)

给定的代码将给我们这样的东西:

<div class="css-gf43fxd ferwf23sd"></div>
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以id向生成的HTML元素添加装饰物吗?提前致谢。

emotion reactjs

2
推荐指数
1
解决办法
1908
查看次数

标签 统计

reactjs ×3

javascript ×2

css ×1

emotion ×1

html ×1

styled-components ×1