Javascript 如何将默认值设置为道具
下面的代码获取URL数据并检索所有电影列表,持续时间以秒为单位 但我只想列出持续时间超过5000秒的电影 *该组件应具有适当的持续时间,并且仅应列出持续时间超过该值的胶片;此道具的默认值应为5000 你能澄清一下如何解决这个问题吗Javascript 如何将默认值设置为道具,javascript,reactjs,react-props,Javascript,Reactjs,React Props,下面的代码获取URL数据并检索所有电影列表,持续时间以秒为单位 但我只想列出持续时间超过5000秒的电影 *该组件应具有适当的持续时间,并且仅应列出持续时间超过该值的胶片;此道具的默认值应为5000 你能澄清一下如何解决这个问题吗 import React, { useState, useEffect } from "react"; export default function App() { const [films, setFilms] = useStat
import React, { useState, useEffect } from "react";
export default function App() {
const [films, setFilms] = useState([]);
useEffect(() => {
const listOfFilms = async () => {
const response = await fetch(
"https://api.flixpremiere.com/v1/films/filter/now_showing?limit=10"
);
console.log("here", response.data);
const jsonresponse = await response.json();
console.log("here11", jsonresponse.films);
setFilms(jsonresponse.films);
};
listOfFilms();
}, []);
return (
<div className="App">
<h1>Film Title</h1>
{console.log("films", films.slug, films.films)}
{films.map((film, index) => (
<ul>
<li key={film.title}>
{film.title} {`(${film.duration_seconds})`} </li>
</ul>
))}
</div>
);
}
import React,{useState,useffect}来自“React”;
导出默认函数App(){
const[films,setFilms]=useState([]);
useffect(()=>{
const listOfFilms=async()=>{
const response=等待获取(
"https://api.flixpremiere.com/v1/films/filter/now_showing?limit=10"
);
console.log(“此处”,response.data);
const jsonresponse=await response.json();
console.log(“here11”,jsonresponse.films);
setFilms(jsonresponse.films);
};
listOfFilms();
}, []);
返回(
片名
{console.log(“films”,films.slug,films.films)}
{films.map((film,index)=>(
-
{film.title}{`(${film.duration_seconds})`}
))}
);
}
要设置组件的默认道具,可以使用defaultProps属性
class Tooltip extends React.Component {
// ...
}
Tooltip.defaultProps = {
delay: 100,
}
我将在编写时回答这个问题,即“如何将默认值设置为道具”
如果只想根据条件显示某些项目,请使用函数。唯一的方法是在函数组件中使用默认参数
const Component=({iNeedDefaultValue=“foo”})=>{…}
其余的都被弃用了(“反应之父”)
因为函数上的defaultProps最终会被弃用
请参阅:您可以使用
array.filter
,将阵列筛选为仅包含持续时间超过5000的影片。filter(film=>film.duration\u seconds>5000)这是否回答了您的问题?更多关于but类组件的详细信息,虽然仍然受支持,但不再需要,因此,解构可以轻松取胜。只有const-Component=({property=5000})=>{…}
被接受,其余部分被弃用(Dan Abramov words)。@JaLe你说得对。答案调整了。请取消你的否决票。
const Component = ({ property = 5000 }) => { ... }