我是 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 |