当 SPFX 属性 窗格中的 属性 更改时重新调用 api

Re call api when property in SPFX property pane is changed

这可能是一个非常愚蠢的问题,但这里是。

我的 属性 窗格中有一个下拉字段,其中填充了当前站点的所有列表。这没问题。

当我更改下拉列表时,我用列表的 ID 填充 属性。在我的反应组件中,我调用下面的

public componentDidMount(){
     var url = this.props.webUrl + "/_api/web/lists(guid'"+ this.props.listId+"')/items";
     console.log("LIST API = " + url);
     var getListInfo: FetchListData = new FetchListData();
      getListInfo.getItems(url, this.props.client).then((data) => {

         this.setState({ navItems: data });
      })
  }`

我的假设是,当 Web 部件最初加载时,组件呈现在页面上,但如果我更新 属性 它不会调用此 componentDidMount,因为从技术上讲它已经安装。

我想做的是让组件在我更改列表(下拉列表 属性)后重新呈现。我目前拥有的将起作用,因为一旦您保存页面,它将呈现所有检索到的项目。我只是假设有一种方法可以让它变得动态。

我对 React 的经验至少可以说是基本的,所以任何方向都是完美的。

干杯

特鲁兹

在查看 React 页面循环后想出了这个。

componentDidUpdate(prevProps, prevState) {
  //If statement checking if your property or state has changed.
  //Re run API call 
}

干杯

特鲁兹