假设我有一个JavaScript / HTML应用
如果我希望我的应用程序使用不可变状态(immutable.js,redux,react等),从概念上讲,如果它们是相同的,我如何保持列表中项目的更新与应用程序的选定项目同步?
如果我使用纯JavaScript对象/数组和变异,那么所选项目将是对某个对象的引用,而项目列表实际上是对项目对象的引用列表。如果我更改了项目列表中对象的属性,那么它将与所选项目同步,因为它是同一个对象。
如果我使用不可变状态,我将如何管理类似的东西? 如果对所选项目进行了更新,我是否还要记得返回一个新状态,其中列表中的项目不同并且所选项目应用了相同的转换?
一个想法是没有选定的项目,但有一个选定的索引,但是当我重新排序我的项目列表时,我是否必须记住返回一个新的状态,其中所选的索引是不同的?
是否存在处理此类问题的模式?
答案 0 :(得分:1)
这是我这样做的一种方式。您可以将对index的引用更改为item.id。
List<String> lines = new ArrayList<String>();
for(String fileName : textFileNames){ // Loop over each file that we found in the directory searching
BufferedReader fileReader = new BufferedReader(new FileReader("StackTxtFiles/"+fileName)); // Create reader with access to file. Add the directory we are looking in
String fileLine = fileReader.readLine(); // Read the first line
while (fileLine != null) { // While there are still lines to read, keep reading
lines.add(fileLine); // Store the current line
fileLine = fileReader.readLine(); // Grab the next line
}
fileReader.close(); // Read all the lines, so close the read
}
&#13;