从对象中获取的React过滤信息

时间:2017-08-18 18:45:27

标签: javascript reactjs

所以我有一个我正在使用的反应容器,我需要获取存储在对象中的信息并对其进行过滤,然后将其用作变量。这就是我现在所处的位置:

请忽略很多我没有过滤掉的东西,我知道这看起来有很多未使用的变量信息被抓取,它被用在容器中。

...

componentDidMount() {
  // ... bunch of stuff doing work
  // need to use the categoryId variable inside of here
  // categoryID returns /s/a-12345678 but all I need is the trailing numbers (12345678)
}

DvmContainer.propTypes = {
  categoryId: PropTypes.string
}

const mapStateToProps = function({ config, page, profile }) {
  return {
    categoryId: page.metadata.node_id
  }
}

1 个答案:

答案 0 :(得分:0)

如果您的node_id始终采用相同的格式,则可以使用:

categoryId: page.metadata.node_id.split('-')[1]
在mapStateToProps中。


或者,您可以使用正则表达式:

categoryId: page.metadata.node_id.match(/[0-9]+$/)[0]

这匹配字符串末尾的不间断数字字符串。


[编辑] 如果您或其他人未来必须了解代码提取的原因,我会记录一些评论。在你的解释中,更多地关注为什么它正在完成而不是它正在做什么