본문 바로가기
카테고리 없음

1. 리액트 컴포넌트 설계

by 강아지톡톡-아지톡 2024. 7. 11.
반응형

1. 리액트 컴포넌트 설계

아래는 기본적인 리액트 컴포넌트 코드 예시입니다. 이 컴포넌트는 사용자가 입력한 텍스트를 받아 API를 통해 GPT 모델로 전송하고, 결과를 화면에 출력하는 기능을 포함하고 있습니다.

jsx

import React, { useState } from 'react';

function GPTContentGenerator() {
  const [input, setInput] = useState('');
  const [output, setOutput] = useState('');

  const handleInputChange = (event) => {
    setInput(event.target.value);
  };

  const handleSubmit = async () => {
    try {
      const response = await fetch('/api/generate-content', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({ text: input })
      });
      const data = await response.json();
      setOutput(data.generatedText);
    } catch (error) {
      console.error('Error fetching data:', error);
      setOutput('Failed to generate content. Please try again.');
    }
  };

  return (
    <div>
      <h1>GPT Content Generator</h1>
      <textarea
        value={input}
        onChange={handleInputChange}
        placeholder="Enter your text here..."
        rows="4"
        cols="50"
      ></textarea>
      <button onClick={handleSubmit}>Generate</button>
      <div>
        <h2>Generated Content:</h2>
        <p>{output}</p>
      </div>
    </div>
  );
}

export default GPTContentGenerator;

2. 컴포넌트의 기능 설명

  • useState: input과 output 상태를 관리합니다. 사용자의 입력과 모델의 출력을 각각 저장합니다.
  • handleInputChange: 사용자가 텍스트 입력란에 입력할 때마다 input 상태를 업데이트합니다.
  • handleSubmit: 사용자가 'Generate' 버튼을 클릭할 때 실행됩니다. 입력된 텍스트를 서버의 GPT 모델 API로 전송하고, 반환된 결과를 output에 저장합니다.

3. 백엔드 통합

이 컴포넌트가 작동하려면 워드프레스 서버에서 해당 API 엔드포인트(/api/generate-content)를 구현해야 합니다. 이 API는 POST 요청을 받아, 요청된 텍스트를 기반으로 GPT 모델을 실행하고 결과를 반환하는 역할을 합니다.

반응형