繁体   English   中英

在React中导入和渲染Promise

[英]Importing and rendering promise in React

更新

import scraper from 'scraper.js';

class Menu extends React.Component {
constructor(props) {
    super(props);
    this.state = {
        data: ''
    };
}

componentDidMount() {
    scraper.then(data => {this.setState({data});
    });
}

  render() {
    return <ul>{
      this.state.data.length?
        this.state.data.map(function(item, i) {
            return <li key={i}>{item}</li> }) :
        <li>No data</li>
    }</ul>
  }
};

我知道这是不对的,但我不知道为什么? 至少我要尝试将数据记录到浏览器的控制台中...最终,我要做的是使用<li>数据中的项目(数据是数组)作为列表分散在我的dom中。数组中的每个项目...

import React from 'react';
import ReactDOM from 'react-dom';

let scraper = new Promise(function(resolve, reject) {
  let results = ["Black Forest Ham", "Chicken & Bacon Ranch Melt", "Cold Cut Combo", "Corned Beef Reuben", "Italian B.M.T.®", "Meatball Marinara", "Oven Roasted Chicken", "Roast Beef", "Rotisserie-Style Chicken", "Spicy Italian", "Steak & Cheese", "Subway Club®", "Sweet Onion Chicken Teriyaki", "Classic Tuna", "Turkey Breast", "Turkey Reuben", "Veggie Delite®"];
  resolve(results);
})

class Menu extends React.Component {
  constructor (props) {
    super(props)
    this.state = { data: [] }
  }

  componentDidMount() {
    scraper.then(data => this.setState({data}));
  }

  render() {
    return <ul>{
      this.state.data.length?
        this.state.data.map(d => <li key={d}>{d}</li>) :
        <li>No data</li>
    }</ul>
  }
};

ReactDOM.render(<Menu />, document.body)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM