在ES6中重新声明标识符

时间:2019-04-11 22:43:45

标签: reactjs styled-components

最有可能是一个愚蠢的问题,但是有没有办法重新声明具有相同标识符的变量?为了命名约定,我想做一些与以下类似的事情。

export let Navbar = styled(Navbar)` STYLES GO HERE `

但是,由于作用域,我无法将样式添加到Navbar并将标识符保持为Navbar。导航栏已经声明。

有什么想法吗?我们正在尝试使用样式包装组件,但保持它们的名称相同。

例如,这将起作用,但会破坏我们用于常规html元素的约定。

export let StyledNavbar = styled(Navbar)` STYLES GO HERE `

4 个答案:

答案 0 :(得分:2)

也许您正在寻找

Navbar = styled(Navbar)` STYLES GO HERE `
export {Navbar}

您可以为变量分配一个新值(如果它是用letvar声明并导出的。

您可以反过来做:

export let Navbar = initialValue;
Navbar = styled(Navbar)` STYLES GO HERE `

答案 1 :(得分:2)

我认为以下方法应该有效:

user_user_id

答案 2 :(得分:1)

也许尝试使用合成物?

const StyledNavbar = style.div`
    padding: 10px;
    background: blue;
    font-size: 12px;
`

export class Navbar extends React.Component {
    render() {
        return <StyledNavbar>Hello World</StyledNavbar>;
    }
}

答案 3 :(得分:1)

我不知道这是否最适合您的用例,但是您可以使用别名

import {NavBar as StyledNav} from "./navBar;
const NavBar = styled(StyledNav)`YOUR CODE HERE`;