无法在“ CSSStyleDeclaration”上设置索引属性

时间:2019-07-17 02:24:41

标签: spring reactjs animation gatsby

我有一个与Gatsby一起使用React Spring的项目。我收到以下错误:

TypeError: Failed to set an indexed property on 'CSSStyleDeclaration': Index property setter is not supported.

在我的一些研究中,我发现在其他情况下浏览器更新已导致这种类型的错误,但是我没有找到任何与React Spring相关的问题。

我尝试将所有相关依赖关系升级到最新版本。

我将其范围缩小到使用React Spring的代码的一部分:


const trail = useTrail(2, {
    opacity: sideNav ? 1 : 0,
    x: sideNav ? 0 : 180,
    height: sideNav ? 180 : 0,
    from: { opacity: 0, x: 20, height: 0 },
  });


<NavItem style={trail}>
    <Link to="/">Home</Link>
</NavItem>

如果我删除style = {trail},我将不再收到错误,因此我认为这与React Spring的useTrail有关。

我希望它能像几天前一样正常工作,在那里我没有收到任何错误,我的动画按预期工作。实际上,我已经有几周没有接触代码了,而几天前该站点已正确加载。现在突然坏了。

1 个答案:

答案 0 :(得分:0)

useTrail documentation说:

  

返回值是一个包含动画道具的数组。

因此,您不能直接将trail应用于一项的style。应该是这样的:

{trail.map(style => (
  <NavItem
    style={style}
  >
    <Link to="/">Home</Link>
  </NavItem>
))}