如何访问对象内部的对象值?

时间:2020-08-01 04:47:22

标签: javascript reactjs

我得到了

  if Assigned(AThread) then begin
    TerminateThread(AThread.Handle, 0);
    FreeAndNil(AThread);
  end;

从console.log(props.searchedLocation.totalPages.page)。

以下对象是“ props.searchedLocation”的控制台日志。

Uncaught TypeError: Cannot read property 'page' of undefined

当我执行console.log('props.searchedLocation.totalPages')时,它返回{page:32}。但是,我需要页码才能将其传递给我的分页组件,并且尝试使用“?”搜索页面值,但是没有用。

如何在React或JS的主对象内部获取对象的值?

{
  next: { page: 3, limit: 10 },
  previous: { page: 1, limit: 10 },
  totalPages: { page: 32 },
  results: [
    {
    },
   ]
}

这将返回

  useEffect(() => {
    if (!props.searchedLocation) {
      setLastPage(100);
    } else {
      setLastPage(props.searchedLocation.totalPages.page);
    }
  }, [props.searchedLocation]);

4 个答案:

答案 0 :(得分:1)

您需要访问页面属性

console.log(props.searchedLocation.totalPages.page)

答案 1 :(得分:1)

我认为您可能忘记了使用点符号添加page属性。

它应该如下所示:

props.searchedLocation.totalPages.page // returns page number as 32

使用括号符号:

props.searchedLocation.totalPages['page'] // returns page number as 32

您所写的内容:

props.searchedLocation.totalPages // returns totalPage object as {page: 32}

答案 2 :(得分:1)

我认为您应该用作动态属性

像这样

console.log(props.searchedLocation.totalPages['page'])

答案 3 :(得分:1)

您没有正确访问searchedLocation。控制台显示totalpages内有对象page

最简单可靠的方式是使用searchedLocation.totalPages.page

const searchedLocation = {
  next: {
    page: 3,
    limit: 10
  },
  previous: {
    page: 1,
    limit: 10
  },
  totalPages: {
    page: 32
  },
  results: [{}, ]
}

console.log(searchedLocation.totalPages.page); //32