React Native:嵌套 JSON 对象浅拷贝(参考)不起作用

React Native : nested JSON object shallow copy (reference) not working

我有一个嵌套的 JSON 个看起来像 {"name", "children": [JSON objects]} 的对象。 我正在尝试向使用变量 path、名称数组

找到的对象添加一个新子项

我的代码在我的 React Native 应用程序中不起作用,但它在 Chrome 控制台中起作用,这让我很困惑。它是否与 React Native 有关?如果是,我该如何解决?

在 Google 控制台中上传的代码产生了预期的结果:j.children[0].children[0] = 'test'

let j = {"name": "root", children: [{"name": "tag1", children: []}]};
let res = j;
const path = ["tag1"];

for (const name of path) {
   for (const child of res.children) {
      if (child.name == name) {
         res = child;
         break;
      }
   }
}
res.children.push("test");
console.log(j);

包装在 React Native 应用程序中的相同代码,在 Android 模拟器 (PIXEL_5_API_30) 上测试,产量 {"children": [{"children": [Array], "name": "tag1"}], "name": "root"} 这不是预期的行为([Array] 表示空数组)。

export default function App() {

const test = () => {
    let j = {"name": "root", children: [{"name": "tag1", children: []}]};
    let res = j;
    const path = ["tag1"];

    for (const name of path) {
      for (const child of res.children) {
        if (child.name == name) {
          res = child;
          break;
        }
      }
    }
    res.children.push("test");
    console.log(j);
}

return (
    <View>
      <Button title="test" onPress={test} />
      <StatusBar style="auto" />
    </View>
  );
}

检查好,确实[Array]不是空数组,代码按预期运行。似乎 React Native 只显示一个深度的数组。