작성
·
2.3K
0
7강 듣고 회원가입 페이지 보고싶은데 볼수가 없습니다
진행사항은 세팅에 있는 ts 파일 복사 해서 따른 폴더에 넣어놓고 시작 했습니다.
tsconfig.json 파일에 baseURL 부분이 "./setting" 이여서 저는 "." 로 바꿔 놓았습니다.(빌드한 이후에 바꿧습니다.)
그리고 @pages/Login 이런식으로 하면 Cannot find module '@pages/SignUp' or its corresponding type declarations.ts(2307)
이런 오류가 뜹니다.
그리고 SignUp 에서 return 하는 부분에서는 vscode 사용중인데 좀 희미하게 뜹니다. 커서 올리면 밑에 에러가 보여요
Unreachable code detected.ts(7027)
현재 폴더 상황입니다.
따른거는 크게 다르게 한건 없다고 생각 하고요 빌드하는 부분이 강의랑 붙여온거랑 좀 다르긴 했습니다.
조언 주시면 감사하겠습니다.
답변 5
1
signup 코드 보여주시고요. return이 여러 번 나오거나 그런 상황인 것 같습니다. webpack.config.ts 쪽도 확인해봐야 할 것 같습니다.
0
0
import path from 'path';
import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
import webpack from 'webpack';
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
const isDevelopment = process.env.NODE_ENV !== 'production';
const config: webpack.Configuration = {
name: 'sleact',
mode: isDevelopment ? 'development' : 'production',
devtool: isDevelopment ? 'hidden-source-map' : 'inline-source-map',
resolve: {
extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
alias: {
'@hooks': path.resolve(__dirname, 'hooks'),
'@components': path.resolve(__dirname, 'components'),
'@layouts': path.resolve(__dirname, 'layouts'),
'@pages': path.resolve(__dirname, 'pages'),
'@utils': path.resolve(__dirname, 'utils'),
'@typings': path.resolve(__dirname, 'typings'),
},
},
entry: {
app: './client',
},
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'babel-loader',
options: {
presets: [
[
'@babel/preset-env',
{
targets: { browsers: ['last 2 chrome versions'] },
debug: isDevelopment,
},
],
'@babel/preset-react',
'@babel/preset-typescript',
],
env: {
development: {
plugins: [require.resolve('react-refresh/babel')],
},
},
},
exclude: path.join(__dirname, 'node_modules'),
},
{
test: /\.css?$/,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [
new ForkTsCheckerWebpackPlugin({
async: false,
// eslint: {
// files: "./src/**/*",
// },
}),
new webpack.EnvironmentPlugin({ NODE_ENV: isDevelopment ? 'development' : 'production' }),
],
output: {
path: path.join(__dirname, 'dist'),
filename: '[name].js',
publicPath: '/dist/',
},
devServer: {
historyApiFallback: true,
port: 3090,
publicPath: '/dist/',
},
};
if (isDevelopment && config.plugins) {
config.plugins.push(new webpack.HotModuleReplacementPlugin());
config.plugins.push(new ReactRefreshWebpackPlugin());
}
if (!isDevelopment && config.plugins) {
}
export default config;
0
import React ,{useState,useCallback}from 'react'
import {Link, Redirect} from "react-router-dom"
import {Header,Form,Label,Input,Button,LinkContainer,Error,Success} from "./styles"
const SignUp = () => {
const [email]=useState("")
const [nickname]=useState("")
const [password]=useState("")
const [passwordCheck]=useState("")
const onSubmit = useCallback(()=>{},[])
const onChangeEmail = useCallback(()=>{},[])
const onChangeNickname = useCallback(()=>{},[])
const onChangePassword = useCallback(()=>{},[])
const onChangePasswordCheck = useCallback(()=>{},[])
return
<div id="container">
<Header>Sleact</Header>
<Form onSubmit={onSubmit}>
<Label id="email-label">
<span>이메일 주소</span>
<div>
<Input type="email" id="email" name="email" value={email} onChange={onChangeEmail} />
</div>
</Label>
<Label id="nickname-label">
<span>닉네임</span>
<div>
<Input type="text" id="nickname" name="nickname" value={nickname} onChange={onChangeNickname} />
</div>
</Label>
<Label id="password-label">
<span>비밀번호</span>
<div>
<Input type="password" id="password" name="password" value={password} onChange={onChangePassword} />
</div>
</Label>
<Label id="password-check-label">
<span>비밀번호 확인</span>
<div>
<Input
type="password"
id="password-check"
name="password-check"
value={passwordCheck}
onChange={onChangePasswordCheck}
/>
</div>
{/* {mismatchError && <Error>비밀번호가 일치하지 않습니다.</Error>}
{!nickname && <Error>닉네임을 입력해주세요.</Error>}
{signUpError && <Error>{signUpError}</Error>}
{signUpSuccess && <Success>회원가입되었습니다! 로그인해주세요.</Success>} */}
</Label>
<Button type="submit">회원가입</Button>
</Form>
<LinkContainer>
이미 회원이신가요?
<Link to="/login">로그인 하러가기</Link>
</LinkContainer>
</div>
}
export default SignUp
그렇게 하니까 잘되네요ㅎㅎㅎ
헐 근데 저는 그괄호가 없어도 되는 괄호라고 알고 있었는데 아니였나보네요..
간단하게 설명 해주시면 감사드리겠습니다.
아니면 그냥 규칙인 부분인가요?
그리고
@pages/Login 이렇게 파일 불러오는 것도 안됬는데 지금은 됩니다.
그거바꾸니까 되는 건가요 아니면 한번 컴퓨터를 한번껏다가 켜서 되는건가요???