๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Frontend/StoryBook

[ ์Šคํ† ๋ฆฌ๋ถ(StoryBook) ] Object(...) is not a function ์—๋Ÿฌ๊ฐ€ ๋œฐ ๋•Œ

by YWTechIT 2022. 10. 17.
728x90

๐Ÿ“ Object(...) is not a function ์—๋Ÿฌ๊ฐ€ ๋œฐ ๋•Œ

์Šคํ† ๋ฆฌ๋ถ์— ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  npm run dev๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋‹ˆ๊นŒ ๋‹ค์Œ์ฒ˜๋Ÿผ Object(...) is not a function ์—๋Ÿฌ๊ฐ€ ๋œจ๋Š” ํ˜„์ƒ์„ ๋งˆ์ฃผํ–ˆ๋‹ค.

 

 

์›์ธ์€ ๊ฐ„๋‹จํ–ˆ๋Š”๋ฐ, @storybook/addon-knobs ํŒจํ‚ค์ง€์—์„œ importํ•œ props ๋ฌธ์ž์—ด ํƒ€์ž…์„ string์œผ๋กœ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํŒจํ‚ค์ง€๋ฅผ ๋’ค์ ธ๋ณด๋‹ˆ typescript์—์„œ ์‚ฌ์šฉํ•˜๋Š” string ํƒ€์ž…์€ @storybook/addon-knobs ํŒจํ‚ค์ง€์—์„œ text ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.(export declare function text(name: string, value: string, groupId?: string): string;) ๋ฌธ์žํ˜•์€ ๋‹น์—ฐํžˆ string์ธ์ง€ ์•Œ์•˜๋Š”๋ฐ, text ํƒ€์ž…์ด๋ผ๋‹ˆ.. ๋‹นํ™ฉ์Šค๋Ÿฌ์› ๋‹ค..

728x90
// AS-IS
import React from 'react'
import { storiesOf } from '@storybook/react'
import { string } from '@storybook/addon-knobs'
import { DateInput } from '@titicaca/admin-input-components'

storiesOf('Date Input Component', module).add('Date Input', () => (
  <DateInput
    size={string('size', 'mini')}
    name={string('name', 'text')}
    value={string('value', '2022-10-24')}
  />
))

// TO-BE
import React from 'react'
import { storiesOf } from '@storybook/react'
import { text } from '@storybook/addon-knobs'
import { DateInput } from '@titicaca/admin-input-components'

storiesOf('Date Input Component', module).add('Date Input', () => (
  <DateInput
    size={text('size', 'mini')}
    name={text('name', 'text')}
    value={text('value', '2022-10-24')}
  />
))
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€