栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在react render函数中异步等待?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在react render函数中异步等待?

您应该始终将获取数据等关注事项与显示数据等关注事项分开。这里有一个父组件,该组件通过AJAX获取数据,然后在输入数据时有条件地呈现纯功能子组件。

class ParentThatFetches extends React.Component {  constructor () {    this.state = {};  }  componentDidMount () {    fetch('/some/async/data')      .then(resp => resp.json())      .then(data => this.setState({data}));  }  render () {    {this.state.data && (      <Child data={this.state.data} />    )}  }}const Child = ({data}) => (  <tr>    {data.map((x, i) => (<td key={i}>{x}</td>))}  </tr>);

我实际上并没有运行它,因此它们可能是一些小错误,并且如果您的数据记录具有唯一的ID,则应将这些ID用于键属性而不是数组索引,但是您会发现jist。

更新

同样的事情,但是使用钩子更简单,更短:

const ParentThatFetches = () => {  const [data, updateData] = useState();  useEffect(() => {    const getData = async () => {      const resp = await fetch('some/url');      const json = await resp.json()      updateData(json);    }    getData();  }, []);  return data && <Child data={data} />}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号