Javascript react-spring:转换组件问题

Javascript react-spring:转换组件问题,javascript,reactjs,react-spring,Javascript,Reactjs,React Spring,我使用的是react-spring,Transition-render-prop组件 我面临一种边缘情况,即即使在通过setState()更新项目之后,组件中使用的项目仍会显示旧值并向其追加新值 我期望出现这样的行为,即项目应该重新呈现转换组件中的项目列表 知道我遗漏了什么吗 <ul> <Transition items={randomFeeds} // keys={randomFeeds.map(item => item.id)} keys

我使用的是react-spring,Transition-render-prop组件

我面临一种边缘情况,即即使在通过setState()更新项目之后,组件中使用的项目仍会显示旧值并向其追加新值

我期望出现这样的行为,即项目应该重新呈现转换组件中的项目列表

知道我遗漏了什么吗

<ul>
  <Transition
    items={randomFeeds}
    // keys={randomFeeds.map(item  => item.id)}
    keys={randomFeeds => randomFeeds.id}
    from={{ transform: 'translate3d(0, -40px, 0)', opacity: 0 }}
    enter={{ transform: 'translate3d(0,0,0)', opacity: 1 }}
    update={{ transform: 'translate3d(0,0,0)', opacity: 1 }}
    reset={true}
    unique={true}
  >
    {item => props => (
      <li style={props} key={item.id + item.riskCategoryId + item.riskCategory}>
        <RimeCard
          key={item.id + item.riskCategoryId + item.riskCategory}
          title={item.title}
          categoryId={item.riskCategoryId}
          category={item.riskCategory}
          link={item.link}
          isTimeline={true}
          date={item.publishDateString}
        />
      </li>
    )}
  </Transition>
</ul>
    项目(id)} keys={randomFeeds=>randomFeeds.id} from={transform:'translate3d(0,-40px,0)”,不透明度:0} 回车={{transform:'translate3d(0,0,0)”,不透明度:1} 更新={{transform:'translate3d(0,0,0)”,不透明度:1} 重置={true} 唯一={true} > {item=>props=>(
  • )}

如果要更新项目,请确保在更新之间不会更改li组件的密钥。因此,不要使用key:
key={item.id+item.riskCategoryId+item.riskCategory}
只需使用
key={item.id}

您可能还希望将leave属性添加到您的转换中,例如:
leave={{transform:'translate3d(0,40px,0)”,不透明性:0}

如果这能解决你的问题,我不确定reaset和unique是否必要