• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

faker 사용 후 postData.split is not a function 에러 질문

23.11.08 01:28 작성 23.11.08 01:30 수정 조회수 190

0

스크린샷 2023-11-08 010922.png 이전에는 잘 되었는데 faker로 더미데이터 사용 후에 다음과 같은 에러가 뜹니다!

faker 버전 이슈를 보고 삭제 후 npm i -D faker@5 로 재설치했는데 오류가 해결되지 않았습니다ㅠ 

 

console.log 찍어본 postData의 타입이랑 에러메시지 입니다!스크린샷 2023-11-08 012645.png

4. WrappedApp created new store with withRedux(NodeBird) { initialState: undefined, initialStateFromGSPorGSSR: undefined }
type : string
type : function
TypeError: postData.split is not a function
at PostCardContent (C:\Users\pc\react-nodebird\prepare\front\.next\server\pages\index.js:1131:13)
at processChild (C:\Users\pc\react-nodebird\prepare\front\node_modules\react-dom\cjs\react-dom-server.node.development.js:3043:14)
at resolve (C:\Users\pc\react-nodebird\prepare\front\node_modules\react-dom\cjs\react-dom-server.node.development.js:2960:5)
at ReactDOMServerRenderer.render (C:\Users\pc\react-nodebird\prepare\front\node_modules\react-dom\cjs\react-dom-server.node.development.js:3435:22)
at ReactDOMServerRende
rer.read (C:\Users\pc\react-nodebird\prepare\front\node_modules\react-dom\cjs\react-dom-server.node.development.js:3373:29)
at renderToString (C:\Users\pc\react-nodebird\prepare\front\node_modules\react-dom\cjs\react-dom-server.node.development.js:3988:27)
at Object.renderPage (C:\Users\pc\react-nodebird\prepare\front\node_modules\next\dist\next-server\server\render.js:50:851)
at Document.getInitialProps (C:\Users\pc\react-nodebird\prepare\front\.next\server\pages\_document.js:264:19)
at loadGetInitialProps (C:\Users\pc\react-nodebird\prepare\front\node_modules\next\dist\next-server\lib\utils.js:5:101)
at renderToHTML (C:\Users\pc\react-nodebird\prepare\front\node_modules\next\dist\next-server\server\render.js:50:1142)  

 

PostCardContent.js 코드 중 의심스러운 부분입니다

const PostCardContent = ({ postData }) => (
    <div>
        {postData.split(/(#[^\s#]+)/g).map((v, i) => {
            if (v.match(/(#[^\s#]+)/)) {
                return <Link href={`/hashtag/${v.slice(1)}`} key={i}><a>{v}</a></Link>;
            }
            return v;
        })}
    </div>
);

PostCardContent.propTypes = {
    postData: PropTypes.string.isRequired,
};

 

답변 1

답변을 작성해보세요.

0

faker랑 아무 관련이 없고요. 말 그대로 postData가 문자열이 아닌 겁니다. 아닌 이유는 PostCardContent의 postData를 props로 넣을 때부터 잘못됐겠죠.

해결되었습니다..! 포스트의 content를 함수로 잘못 쓴 부분이 있었네요ㅠ 감사합니다