'string' 类型不存在属性 'map'。打字稿

时间:2021-06-24 14:54:10

标签: string typescript

我是 TypeScript 的新手,所以这可能是一个简单的错误,但它是:

import React, { useState, useEffect } from 'react';
import Axios from 'axios';
import { Container, ButtonSubmit } from './styles';

const Form: React.FC = () => {

  const [movieName, setMovieName] = useState('');
  const [review, setReview] = useState('');
  const [movieReviewList, setMovieReviewList] = useState('');

  useEffect(() =>{
    Axios.get('http://localhost:3001/api/get').then((response)=>{
      setMovieReviewList(response.data)
    })
  }, [])

  const submitReview = () => {
    Axios.post('http://localhost:3001/api/insert', {
      movieName: movieName, movieReview: review
    }).then(() => {
      alert('sucessful insert')
    })
  }

  return (
    <Container>
      <label>Movie Name</label>
      <input type="text" name="movieName" placeholder="Write your movie name" onChange={(e) => {
        setMovieName(e.target.value)
      }}/>

      <label>Movie Review</label>
      <input type="text" name="movieReview" placeholder="Write your movie review" onChange={(e) => {
        setReview(e.target.value)
      }}/>

      <ButtonSubmit onClick={submitReview}>Submit</ButtonSubmit>

      {movieReviewList.map((val) => {
        return <h1>MovieName: {val.movieName} | Movie Review: {val.movieReview}</h1>
      })}
      
    </Container>
  );
};

export default Form;

这里是错误:

**Property 'map' does not exist on type 'string'.  TS2339**

    39 |       <ButtonSubmit onClick={submitReview}>Submit</ButtonSubmit>
    40 | 
    41 |       {movieReviewList.map((val) => {
       |                        ^
    42 |         return <h1>MovieName: {val.movieName} | Movie Review: {val.movieReview}</h1>
    43 |       })}
    44 |

0 个答案:

没有答案