Reactjs 在ES6中重新声明标识符
很可能是一个愚蠢的问题,但有没有办法用相同的标识符重新声明变量?为了命名约定,我想做一些与下面类似的事情Reactjs 在ES6中重新声明标识符,reactjs,styled-components,Reactjs,Styled Components,很可能是一个愚蠢的问题,但有没有办法用相同的标识符重新声明变量?为了命名约定,我想做一些与下面类似的事情 export let Navbar = styled(Navbar)` STYLES GO HERE ` 但是,由于范围限制,我无法将样式添加到Navbar并将标识符保留为Navbar。导航栏已经声明 有什么想法吗?我们试图用样式来包装我们的组件,但保持它们的名称相同 例如,这个例子可以工作,但是打破了我们用于常规html元素的惯例 export let StyledNavbar = st
export let Navbar = styled(Navbar)` STYLES GO HERE `
但是,由于范围限制,我无法将样式添加到Navbar并将标识符保留为Navbar。导航栏已经声明
有什么想法吗?我们试图用样式来包装我们的组件,但保持它们的名称相同
例如,这个例子可以工作,但是打破了我们用于常规html元素的惯例
export let StyledNavbar = styled(Navbar)` STYLES GO HERE `
也许试着用构图
const StyledNavbar = style.div`
padding: 10px;
background: blue;
font-size: 12px;
`
export class Navbar extends React.Component {
render() {
return <StyledNavbar>Hello World</StyledNavbar>;
}
}
也许你在找
Navbar = styled(Navbar)` STYLES GO HERE `
export {Navbar}
?
如果变量是用let或var声明的,则可以为其分配一个新值并将其导出
你可以反过来做:
export let Navbar = initialValue;
Navbar = styled(Navbar)` STYLES GO HERE `
我不知道这是否最适合您的用例,但您可以使用别名
import {NavBar as StyledNav} from "./navBar;
const NavBar = styled(StyledNav)`YOUR CODE HERE`;
我认为以下措施应该有效:
const StyledNavbar = styled(Navbar);
export { StyledNavbar as Navbar };
谢谢,就是这样。我不需要let,因为组件是进口的,这很有意义。好吧,我撒谎了。我建立了一个静态站点,它给了我一个假阳性。这个问题仍然存在。从另一个包导入的任何组件即使使用let或var也无法重新声明。是的,导入是只读的。然后必须创建一个新变量。没办法。