脉轮 UI 图标
Chakra UI Icons
enter image description here
当我包含来自“@chakra-ui/icons”的“MoonIcon”或“SunIcon”等图标时,我得到了经典的“错误:无效挂钩调用”。
我不太确定这是由什么引起的?这可能是一些 npm/yarn 或其他依赖性问题,有什么想法可以减轻它吗?
我正在使用 Chakra UI 和 yarn typescript 入门设置。
import * as React from "react"
import {
ChakraProvider,
VStack,
Code,
Grid,
theme,
useDisclosure,
useColorModeValue,
Flex,
Box,
Text,
IconButton,
Button,
Stack,
Collapse,
Link,
Popover,
PopoverTrigger,
PopoverContent,
useBreakpointValue,
Icon,
useColorMode,
Menu,
MenuButton,
Avatar,
MenuList,
Center,
MenuDivider,
MenuItem
} from "@chakra-ui/react";
import { ColorModeSwitcher } from "./ColorModeSwitcher"
import { Logo } from "./Logo"
import {
HamburgerIcon,
CloseIcon,
ChevronDownIcon,
ChevronRightIcon,
MoonIcon,
SunIcon,
} from '@chakra-ui/icons';
import Nav from "./Navigation";
function App() {
const { colorMode, toggleColorMode } = useColorMode();
const { isOpen, onOpen, onClose } = useDisclosure();
return (
<ChakraProvider theme={theme}>
{/* <Nav/> */}
<Box bg={useColorModeValue('gray.100', 'gray.900')} px={4}>
<Flex h={16} alignItems={'center'} justifyContent={'space-between'}>
<Box>Logo</Box>
<Flex alignItems={'center'}>
<Stack direction={'row'} spacing={7}>
<Button onClick={toggleColorMode}>
{colorMode === 'light' ? <MoonIcon /> : <SunIcon />}
</Button>
<Menu>
<MenuButton
as={Button}
rounded={'full'}
variant={'link'}
cursor={'pointer'}
minW={0}>
<Avatar
size={'sm'}
src={'https://avatars.dicebear.com/api/male/username.svg'}
/>
</MenuButton>
<MenuList alignItems={'center'}>
<br />
<Center>
<Avatar
size={'2xl'}
src={'https://avatars.dicebear.com/api/male/username.svg'}
/>
</Center>
<br />
<Center>
<p>Username</p>
</Center>
<br />
<MenuDivider />
<MenuItem>Your Servers</MenuItem>
<MenuItem>Account Settings</MenuItem>
<MenuItem>Logout</MenuItem>
</MenuList>
</Menu>
</Stack>
</Flex>
</Flex>
</Box>
<Box textAlign="center" fontSize="xl">
<Grid minH="100vh" p={3}>
<ColorModeSwitcher justifySelf="flex-end" />
<VStack spacing={8}>
<Logo h="40vmin" pointerEvents="none" />
<Text>
Edit <Code fontSize="xl">src/App.tsx</Code> and save to reload.
</Text>
<Link
color="teal.500"
href="https://chakra-ui.com"
fontSize="2xl"
target="_blank"
rel="noopener noreferrer"
>
Learn Chakra
</Link>
</VStack>
</Grid>
</Box>
</ChakraProvider>
)
}
export default App;
Chakra UI 包安装可能有问题,请尝试重新安装包:
npm uninstall @chakra-ui/react @chakra-ui/icons
然后
npm i @chakra-ui/react @chakra-ui/icons
重启 React 应用程序
npm start
enter image description here
当我包含来自“@chakra-ui/icons”的“MoonIcon”或“SunIcon”等图标时,我得到了经典的“错误:无效挂钩调用”。 我不太确定这是由什么引起的?这可能是一些 npm/yarn 或其他依赖性问题,有什么想法可以减轻它吗? 我正在使用 Chakra UI 和 yarn typescript 入门设置。
import * as React from "react"
import {
ChakraProvider,
VStack,
Code,
Grid,
theme,
useDisclosure,
useColorModeValue,
Flex,
Box,
Text,
IconButton,
Button,
Stack,
Collapse,
Link,
Popover,
PopoverTrigger,
PopoverContent,
useBreakpointValue,
Icon,
useColorMode,
Menu,
MenuButton,
Avatar,
MenuList,
Center,
MenuDivider,
MenuItem
} from "@chakra-ui/react";
import { ColorModeSwitcher } from "./ColorModeSwitcher"
import { Logo } from "./Logo"
import {
HamburgerIcon,
CloseIcon,
ChevronDownIcon,
ChevronRightIcon,
MoonIcon,
SunIcon,
} from '@chakra-ui/icons';
import Nav from "./Navigation";
function App() {
const { colorMode, toggleColorMode } = useColorMode();
const { isOpen, onOpen, onClose } = useDisclosure();
return (
<ChakraProvider theme={theme}>
{/* <Nav/> */}
<Box bg={useColorModeValue('gray.100', 'gray.900')} px={4}>
<Flex h={16} alignItems={'center'} justifyContent={'space-between'}>
<Box>Logo</Box>
<Flex alignItems={'center'}>
<Stack direction={'row'} spacing={7}>
<Button onClick={toggleColorMode}>
{colorMode === 'light' ? <MoonIcon /> : <SunIcon />}
</Button>
<Menu>
<MenuButton
as={Button}
rounded={'full'}
variant={'link'}
cursor={'pointer'}
minW={0}>
<Avatar
size={'sm'}
src={'https://avatars.dicebear.com/api/male/username.svg'}
/>
</MenuButton>
<MenuList alignItems={'center'}>
<br />
<Center>
<Avatar
size={'2xl'}
src={'https://avatars.dicebear.com/api/male/username.svg'}
/>
</Center>
<br />
<Center>
<p>Username</p>
</Center>
<br />
<MenuDivider />
<MenuItem>Your Servers</MenuItem>
<MenuItem>Account Settings</MenuItem>
<MenuItem>Logout</MenuItem>
</MenuList>
</Menu>
</Stack>
</Flex>
</Flex>
</Box>
<Box textAlign="center" fontSize="xl">
<Grid minH="100vh" p={3}>
<ColorModeSwitcher justifySelf="flex-end" />
<VStack spacing={8}>
<Logo h="40vmin" pointerEvents="none" />
<Text>
Edit <Code fontSize="xl">src/App.tsx</Code> and save to reload.
</Text>
<Link
color="teal.500"
href="https://chakra-ui.com"
fontSize="2xl"
target="_blank"
rel="noopener noreferrer"
>
Learn Chakra
</Link>
</VStack>
</Grid>
</Box>
</ChakraProvider>
)
}
export default App;
Chakra UI 包安装可能有问题,请尝试重新安装包:
npm uninstall @chakra-ui/react @chakra-ui/icons
然后
npm i @chakra-ui/react @chakra-ui/icons
重启 React 应用程序
npm start