小编Sal*_*our的帖子

material-ui 'createSvgIcon' 不是从 '@material-ui/core/utils' 导出的

我已经安装了 material-ui/lab 以便用户使用警报组件,但是每当我导入它时:import Alert from '@material-ui/lab/Alert';它无法编译并抛出此错误:

./node_modules/@material-ui/lab/esm/internal/svg-icons/SuccessOutlined.js
Attempted import error: 'createSvgIcon' is not exported from '@material-ui/core/utils'.
Run Code Online (Sandbox Code Playgroud)

所以我试着用谷歌搜索这个问题,发现了另一个关于material-ui/lab/AutoComplete组件的问题这个问题正是这个问题),接受的答案是将 material-ui/core 更新到版本 4.9.9,看起来它对问这个问题的人有用,但遗憾的是不适合我,我有所有已安装的 material-ui 东西的这个版本:

    "@material-ui/core": "^4.9.9",
    "@material-ui/icons": "^4.9.1",
    "@material-ui/lab": "^4.0.0-alpha.48",
Run Code Online (Sandbox Code Playgroud)

所以现在我问你们是否有另一种方法可以解决这个问题,谢谢

javascript node.js reactjs material-ui

34
推荐指数
3
解决办法
2万
查看次数

如何在javascript中检查对象的属性数组是否为空

我正在尝试在 js 中进行验证以检查对象的属性数组是否为空字符串,为了澄清更多,我有一个包含对象的数组,我想检查每个对象是否有空字符串属性(“”),这是我写的代码,但我不确定这是正确的方法

const items = [
  { name: "something", quantity: "25", unit: "d" },
  { name: "something", quantity: "25", unit: "d" },
  { name: "something", quantity: "25", unit: "d" },
];

const validation = items.map((item) => {
  return Boolean(item.name && item.quantity && item.unit);
});
Run Code Online (Sandbox Code Playgroud)

但它只是给了我一个这样的数组:

[true, true, true]
Run Code Online (Sandbox Code Playgroud)

就像我希望它只在所有属性都不为空时才给我值 true

谢谢

javascript arrays boolean object

3
推荐指数
1
解决办法
1405
查看次数

如何在反应钩子状态内正确更新数组

我一直在尝试更新表示反应状态的数组中的对象,当输入的值更改时应该更新对象,我可以自己找到更新它的方法,但我不确定这是正确的方法,因为当我打开 React 开发工具并转到组件选项卡并单击我正在处理的组件时,状态不会在输入输入时立即更新,并且为了查看更改我必须单击开发工具中的另一个组件,然后返回到第一个组件并完成更改。

所以我基本上是在问我用来更新状态的方式是否正确,并获得一些关于更好的方法的建议,以便它立即更新。谢谢

这是代码

国家:

const [items, setItems] = useState([{ name: "", quantity: "", unit: "" }]);
Run Code Online (Sandbox Code Playgroud)

更改处理函数(更新状态的函数):

const nameChange = (e, i) => {
  const newItems = items;
  newItems[i].name = e.target.value;
  setItems(newItems);
  console.log(items);
};
Run Code Online (Sandbox Code Playgroud)

输入:

{
  items.map((item, i) => {
    return (
      <div key={i} className={`mt3 ${classes.root}`}>
        <TextField
          onChange={e => nameChange(e, i)}
          style={{ width: "30%" }}
          id="standard-basic"
          label="Item name"
        />
        <TextField
          style={{ width: "25%" }}
          id="standard-basic"
          label="quantity"
        />
        <TextField
          style={{ width: "10%" }}
          id="standard-basic"
          label="Unit"
        />
      </div>
    );
  }); …
Run Code Online (Sandbox Code Playgroud)

javascript arrays state reactjs react-hooks

2
推荐指数
1
解决办法
3984
查看次数

如何通过单击按钮从反应状态挂钩数组中删除对象

我正在尝试制作一个按钮,根据传递的索引从数组(这是状态)中删除一个对象,我已经尝试了很多,但我的方法都不起作用:(,所以这是代码,希望我可以找人帮忙:

状态:

const [items, setItems] = useState([{ name: "", quantity: "", unit: "" }]);
Run Code Online (Sandbox Code Playgroud)

删除功能:

const deleteItem = (i) => {
    const newItems = [...items]
    newItems.splice(i, 1)
    setItems(newItems)
}
Run Code Online (Sandbox Code Playgroud)

jsx 元素:

    {
        items.map((item, i) => {
            return (
                <div key={i} className={`mt3 item-input-wrapper`}>
                    <div>some other els here</div>
                    <button onClick={() => deleteItem(i)} >delete item</button>
                </div>
            )
        })
    }
Run Code Online (Sandbox Code Playgroud)

javascript arrays filter reactjs react-hooks

2
推荐指数
1
解决办法
1578
查看次数