将道具传递给React组件中的componentDidMount()

乔丹·英格兰·尼尔森

我正在尝试使用jQuery库(Highcharts)在React组件中呈现数据。

据我了解,我需要将jQuery代码放在componentDidMount()函数中,以使其正常运行。只要我在componentDidMount()方法中包含静态数据,它就可以做到。

但是我想将jQuery代码连接到我的数据库,以便图表是被动的。我读到componentDidMount()只运行一次,所以我怀疑我在其中放入反应性数据会遇到麻烦(我什至无法获得道具登录到控制台……它们总是未定义)。

我可以将props传递给componentDidUpdate(),但是我的jQuery代码不会显示。

有人有解决办法吗?

谢谢!!

法比安·舒尔茨(Fabian Schultz)

您可以利用.setDataHighcharts提供方法。您可以在每次收到新道具时更新数据。这是一个非常基本的示例,显示了这一点:

class Chart extends React.Component {
  constructor() {
    super();
    // Init state.
    this.state = { chart: {} };
  }
  componentDidMount() {
    const _this = this;
    // Init chart with data from props.
    var chart = Highcharts.chart('chart', {
      series: [{ data: _this.props.data }]
    });
    // Save the chart "container" in the state so we can access it from anywhere.
    this.setState({ chart });
  }
  componentWillReceiveProps(props) {
    // Update the chart with new data every time we receive props.
    this.state.chart.series[0].setData(props.data);
  }
  render() {
    return <div id="chart" />;
  }
}

class App extends React.Component {
  constructor() {
    super();
    // Set some initial data.
    this.state = { data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]};
    this.changeData = this.changeData.bind(this);
  }
  changeData() {
    // Update with a different dataset.
    this.setState({
      data: [129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4],
    });
  }
  render() {
    return(
      <div>
        <button onClick={this.changeData}>Change Data</button>
        <Chart data={this.state.data} />
      </div>
    );
  }
}

ReactDOM.render(<App />, document.getElementById('View'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="View"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

将道具传递给react-redux容器组件

来自分类Dev

如何使用React钩子将获取的数据作为道具传递给组件?

来自分类Dev

将儿童道具传递给React Memo组件

来自分类Dev

将道具传递给子组件的问题

来自分类Dev

将功能作为道具传递给Typescript React功能组件

来自分类Dev

将函数传递给React中的组件

来自分类Dev

传递状态或道具以将值传递给子组件

来自分类Dev

如何将道具传递给导航屏幕组件-React Native

来自分类Dev

将TypeScript类型作为道具传递给React组件?

来自分类Dev

传播运算符,以将所有其他道具传递给组件。React.js

来自分类Dev

如何将节点作为道具传递给React中的组件?

来自分类Dev

如何将道具传递给子React组件?

来自分类Dev

传递给子组件的道具在构造函数和componentDidMount()中为空

来自分类Dev

将道具传递给Typescript中的React样式的组件

来自分类Dev

如何将道具传递给React Big Calendar自定义组件?

来自分类Dev

如果我将颜色道具传递给svg组件,那么svg的颜色在React中不会改变

来自分类Dev

React似乎没有将道具传递给另一个组件

来自分类Dev

将道具传递给子组件onClick

来自分类Dev

将道具传递给子组件Cyclejs

来自分类Dev

React Router-将Slug作为道具传递给子组件

来自分类Dev

React Native - 将类作为道具传递给组件

来自分类Dev

React Router 4:将路由道具传递给布局组件

来自分类Dev

如何将组件作为道具传递给 react js 中的另一个组件?

来自分类Dev

在路由期间将道具传递给组件

来自分类Dev

React - 如何将道具传递给孙子组件?

来自分类Dev

将 JSON 中的值作为道具传递给子组件

来自分类Dev

如何将道具传递给作为值传递的组件

来自分类Dev

将道具从 MaterialBottomTabNavigator 传递给组件

来自分类Dev

将道具从 Laravel 传递给 Svelte 组件

Related 相关文章

  1. 1

    将道具传递给react-redux容器组件

  2. 2

    如何使用React钩子将获取的数据作为道具传递给组件?

  3. 3

    将儿童道具传递给React Memo组件

  4. 4

    将道具传递给子组件的问题

  5. 5

    将功能作为道具传递给Typescript React功能组件

  6. 6

    将函数传递给React中的组件

  7. 7

    传递状态或道具以将值传递给子组件

  8. 8

    如何将道具传递给导航屏幕组件-React Native

  9. 9

    将TypeScript类型作为道具传递给React组件?

  10. 10

    传播运算符,以将所有其他道具传递给组件。React.js

  11. 11

    如何将节点作为道具传递给React中的组件?

  12. 12

    如何将道具传递给子React组件?

  13. 13

    传递给子组件的道具在构造函数和componentDidMount()中为空

  14. 14

    将道具传递给Typescript中的React样式的组件

  15. 15

    如何将道具传递给React Big Calendar自定义组件?

  16. 16

    如果我将颜色道具传递给svg组件,那么svg的颜色在React中不会改变

  17. 17

    React似乎没有将道具传递给另一个组件

  18. 18

    将道具传递给子组件onClick

  19. 19

    将道具传递给子组件Cyclejs

  20. 20

    React Router-将Slug作为道具传递给子组件

  21. 21

    React Native - 将类作为道具传递给组件

  22. 22

    React Router 4:将路由道具传递给布局组件

  23. 23

    如何将组件作为道具传递给 react js 中的另一个组件?

  24. 24

    在路由期间将道具传递给组件

  25. 25

    React - 如何将道具传递给孙子组件?

  26. 26

    将 JSON 中的值作为道具传递给子组件

  27. 27

    如何将道具传递给作为值传递的组件

  28. 28

    将道具从 MaterialBottomTabNavigator 传递给组件

  29. 29

    将道具从 Laravel 传递给 Svelte 组件

热门标签

归档