강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của cccodus3135886
cccodus3135886

câu hỏi đã được viết

Tìm hiểu mã hóa DO IT front-end trong khi tạo nó (Next.js, Typescript)

Sửa đổi thành phần nhập câu hỏi

toast 처리부터 오류발생

Viết

·

583

·

Đã chỉnh sửa

0

안녕하세요! 질문 입력 컴포넌트 강의를 듣던 중 toast 처리부터 아래와 같은 오류가 납니다.또한
Anonymous 버튼도 실행이 되지 않습니다.

어떤 문제 일까요?스크린샷 2023-07-28 02.06.46.png

 

import { ServiceLayout } from '@/components/service_layout';
import { useAuth } from '@/contexts/auth_user.context';
import { Avatar, Box, Button, Flex, FormControl, FormLabel, Switch, Text, Textarea, useToast } from '@chakra-ui/react';
import { NextPage } from 'next';
import { useState } from 'react';
import ResizeTextarea from 'react-textarea-autosize';

const userInfo = {
  uid: 'test',
  email: 'cccodus313@gmail.com',
  displayName: 'park chae yeon',
  photoURI: '',
};
const UserHomePage: NextPage = function () {
  const [message, setMessage] = useState('');
  const [isAnonymous, setAnonymous] = useState(true);
  const toast = useToast();
  const { authUser } = useAuth();
  return (
    <ServiceLayout title="user home" minH="100vh" backgroundColor="gray.50">
      ;
      <Box maxW="md" mx="auto" pt="6">
        <Box borderWidth="1px" borderRadius="lg" overflow="hidden" mb="2" bg="white">
          <Flex p="6">
            <Avatar size="lg" src={userInfo.photoURI} mr="2" />
            <Flex direction="column" justify="center">
              <Text fontSize="md">{userInfo.displayName}</Text>
              <Text fontSize="xs">{userInfo.email}</Text>
            </Flex>
          </Flex>
        </Box>
        <Box borderWidth="1px" borderRadius="lg" overflow="hidden" mb="2" bg="white">
          <Flex align="center" p="2">
            <Avatar
              size="xs"
              src={isAnonymous ? 'https://bit.ly/broken-link' : authUser?.photoURL ?? 'https://bit.ly/broken-link'}
              mr="2"
            />
            <Textarea
              bg="gray.100"
              border="none"
              boxShadow="none !important"
              placeholder="어떤 이야기를 나누고 싶나요?"
              borderRadius="md"
              resize="none"
              minH="unset"
              overflow="hidden"
              fontSize="xs"
              mr="2"
              minRows={1}
              maxRows={7}
              as={ResizeTextarea}
              value={message}
              onChange={(e) => {
                if (e.target.value) {
                  const lineCount = (e.target.value.match(/[^\n]*\n[^\n]*/gi)?.length ?? 1) + 1;
                  if (lineCount > 7) {
                    toast({
                      title: '최대 7줄까지만 입력가능합니다',
                      position: 'top-right',
                    });
                    return;
                  }
                }
                setMessage(e.target.value);
              }}
            />
            <Button
              disabled={message.length === 0}
              bgColor="#FFB86C"
              color="white"
              colorScheme="yellow"
              variant="solid"
              size="sm"
            >
              등록
            </Button>
          </Flex>
          <FormControl display="flex" alignItems="center" mt="1" mx="2" pb="2">
            <Switch
              size="sm"
              colorScheme="orange"
              id="anonymous"
              mr="1"
              isChecked={isAnonymous}
              onChange={() => {
                if (authUser === null) {
                  toast({
                    title: '로그인이 필요합니다',
                    position: 'top-right',
                  });
                  return;
                }
                setAnonymous((prev) => !prev);
              }}
            />
            <FormLabel htmlFor="anonymous" mb="0" fontSize="xx-small">
              Anonymous
            </FormLabel>
          </FormControl>
        </Box>
      </Box>
    </ServiceLayout>
  );
};

export default UserHomePage;

 

next.js

Câu trả lời 3

1

cccodus3135886님의 프로필 이미지
cccodus3135886
Người đặt câu hỏi

버전문제였나봅니다.

https://www.inflearn.com/questions/696004/usetoast-%EC%97%90%EB%9F%AC

같은 문제인데 해결했습니다 :)

0

cccodus3135886님의 프로필 이미지
cccodus3135886
Người đặt câu hỏi

0

totuworld님의 프로필 이미지
totuworld
Người chia sẻ kiến thức

코드 확인이 힘드네요.

GitHub 레포지토리에 Push하신 뒤에 공유 가능할까요?

Hình ảnh hồ sơ của cccodus3135886
cccodus3135886

câu hỏi đã được viết

Đặt câu hỏi