使用setState强制组件重新呈现未按预期方式工作

博里斯拉夫·斯特法诺夫(Borislav Stefanov)

我正在使用react-usa-map包来可视化美国地图(https://www.npmjs.com/package/react-usa-map)。我建立了我的地图组件以每1件的指示,但我面临着重新渲染它选择状态时的问题。这是我的整个组件代码:

import React, { useState, useEffect } from "react";
import "./map.css";
import USAMap from "react-usa-map";

const PublicGraphMap = () => {

  const [selected, setSelected] = useState();

  const mapHandler = (event) => {
    setSelected(event.target.dataset.name);
  };


  const statesFilling = (state) => {
    console.log(state); // OUTPUTING THE CHOSEN STATE CORRECT
    return {
      state: {
        fill: "navy",
        clickHandler: () => console.log(state),
      },
    };
  };

  return <USAMap customize={statesFilling(selected)} onClick={mapHandler} />;
};

export default PublicGraphMap;

出于某种原因,一切都正常工作,并且在statesFilling()函数中选择的功能正确显示在控制台中。但是我不知道为什么返回失败。返回对象中的所有内容均无法正常工作,如果我在此处输入例如NJ而不是state:

 return {
      NJ: {
        fill: "navy",
        clickHandler: () => console.log(state),
      },
    };
  };

它正在为NJ状态着色,没有问题。这是沙箱示例:

https://codesandbox.io/s/pedantic-kowalevski-7rt7d?file=/src/App.js

我希望能够动态选择状态并为其着色。

德鲁·里斯(Drew Reese)

您需要将密钥指定为状态代码,而不是文字“ state”。

const statesFilling = (state) => {
  console.log(state);
  return {
    [state]: { // <-- interpolate the state value to be used as key
      fill: "navy",
      clickHandler: () => console.log(state)
    }
  };
};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React组件未按预期呈现结果

来自分类Dev

React Custom组件未按预期呈现

来自分类Dev

Spark 重新分区未按预期工作

来自分类Dev

延迟加载组件未按预期工作

来自分类Dev

laravel路由未按预期呈现所有组件

来自分类Dev

红宝石强制方法未按预期方式调用

来自分类Dev

d3js强制布局未按预期工作

来自分类Dev

d3js强制布局未按预期工作

来自分类Dev

我对SQL COUNT的使用未按预期工作

来自分类Dev

我对SQL COUNT的使用未按预期工作

来自分类Dev

使用 slideToggle() 更改文本未按预期工作

来自分类Dev

使用 group by 后 order by 未按预期工作

来自分类Dev

Firebase 3方式数据绑定未按预期工作

来自分类Dev

如果语句在检查输入值时未按预期方式工作

来自分类Dev

复杂步骤在 OpenMDAO 组件中未按预期工作

来自分类Dev

尽管使用setState(),状态更改后React组件也不会重新呈现

来自分类Dev

HTML 表未按预期呈现

来自分类Dev

模板变量未按预期呈现

来自分类Dev

包括未按预期工作

来自分类Dev

包括未按预期工作

来自分类Dev

阴影未按预期工作

来自分类Dev

ActionListener 未按预期工作

来自分类Dev

“NOT IN”未按预期工作

来自分类Dev

Rowspan 未按预期工作

来自分类Dev

IF 语句未按预期工作

来自分类Dev

AHK,未按预期工作

来自分类Dev

ADL 未按预期工作

来自分类Dev

globalDevDependencies 未按预期工作

来自分类Dev

AnimateTransform 未按预期工作