Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript useState与接口-反应本机类型脚本_Javascript_Typescript_React Native_Expo_Use State - Fatal编程技术网

Javascript useState与接口-反应本机类型脚本

Javascript useState与接口-反应本机类型脚本,javascript,typescript,react-native,expo,use-state,Javascript,Typescript,React Native,Expo,Use State,有一种方法可以将useState与接口类型一起使用吗 这就是我想做的: const [movie, setMovie] = useState(null); [...] .then((responseJson) => { var movie: Movie = { id : id, title: responseJson.original_title, backdrop:

有一种方法可以将useState与接口类型一起使用吗

这就是我想做的:

const [movie, setMovie] = useState(null);

[...]

.then((responseJson) => {
            var movie: Movie = {
                id : id,
                title: responseJson.original_title,
                backdrop: "https://image.tmdb.org/t/p/original" + responseJson.backdrop_path,
                note: responseJson.vote_average,
                numberNote: responseJson.vote_count,
                year: responseJson.release_date,
                runtime: responseJson.runtime,
                genre: responseJson.genres,
                plot: responseJson.overview,
            };
            setMovie(movie);
        })
但是在类型上有错误

我的界面:

interface Movie {
    id: number;
    title: string;
    backdrop: string;
    note: number;
    numberNote: number,
    year: number,
    runtime: number,
    genre: {id: number, name: string}[],
    plot: string
}
根据这篇文章:

我可以尝试这样做:

const [movie, setMovie] = useState<Movie>({id: 0,
        title: "",
        backdrop: "",
        note: 0,
        numberNote: 0,
        year: 0,
        runtime: 0,
        genre: [{id: 0, name: ""}],
        plot: ""});
const[movie,setMovie]=useState({id:0,
标题:“,
背景:“,
注:0,
数字注:0,
年份:0,
运行时:0,
类型:[{id:0,名称:“}],
绘图:“}”;

但它看起来并不干净,我认为这不是将随机值置于第一个状态的好方法。

您可以用以下方式暗示状态类型:

const[movie,setMovie]=useState(null);

您可以通过以下方式暗示状态类型:

const[movie,setMovie]=useState(null);

这是否回答了您的问题?是和否。。。我将更新我的帖子,解释为什么你可以使用联合类型(null)这是否回答了你的问题?是和否。。。我将更新我的帖子,解释为什么可以使用联合类型(null)