说我有以下课程:
public class Tagged {
private List<String> tags;
}
public class ContainerOfTagged {
private List<Tagged> tagged;
}
Run Code Online (Sandbox Code Playgroud)
有了这个结构,每当我需要找到一个Tagged带有特定标记的东西时,我需要遍历所有标记的内容ContainerOfTagged,并迭代每个标记的所有标记Tagged.这可能会影响性能,具体取决于列表的大小.
一个简单的解决方案是更改ContainerOfTagged类以使用以下Map列表中的映射标记Tagged:
public class ContainerOfTagged {
private Map<String, List<Tagged>> tagMapping;
}
Run Code Online (Sandbox Code Playgroud)
现在我需要做的就是提供一个标签,并且Map将Tagged使用所述标签返回所有标签.但是,通过执行此操作,我导致数据重复,因为在类Tagged和ContainerOfTagged类中都存在相同的标记.
那么,有没有办法用不重复数据的性能解决方案来解决这个问题?
我有一个组件,可以根据用户输入以不同的顺序重新呈现子组件。这些子组件具有状态。
当顺序发生变化时,一个子组件的状态最终会出现在另一个子组件中。举个例子,假设在第一次渲染时我按顺序拥有子组件 A 和 B。在下一次渲染中,顺序更改为 B 和 A。A 中的状态现在位于 B 中,反之亦然。
我在Code Sandbox中做了一个更简单的例子来说明这种情况。即使在下一次渲染中颠倒过来,该列表仍保持相同的顺序。
我想这与React 在不同组件之间维护状态的方式有关,其中钩子的顺序很重要。
React 应该能够处理这种情况吗?问题出在我的代码中吗?如果是这样,以不同顺序重新渲染组件的正确方法应该是什么?