小编son*_*rte的帖子

使用redux ownProps在props中获取路由器路径

我正在尝试在容器中获取反应路由器的当前路径,因此我可以将其传递给将改变其可见性过滤器的子组件.

更具体地说,我正在尝试使导航菜单突出显示当前活动的页面.

我正在使用react,redux,react-router和react-router-redux,所以我可以从redux商店访问路由器状态.

来自react-router-redux的文档,它说要做这样的事情:

function mapStateToProps(state, ownProps) {
  return {
    id: ownProps.params.id,
    filter: ownProps.location.query.filter
  };
}
Run Code Online (Sandbox Code Playgroud)

这是我的容器组件:

import React, { Component, PropTypes } from 'react'
import { connect } from 'react-redux'
import { Link } from 'react-router'
import {
  Segment as UISegment,
} from 'semantic-ui-react'
import NavMenu from '../components/NavMenu'

class MenuBar extends Component {
  static propTypes = {
    path: PropTypes.string.isRequired
  }

  render() {
    const { path, } = this.props

    return (
      <UISegment>
        <NavMenu activePath={path} />
      </UISegment>
    )
  } …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router redux react-router-redux

5
推荐指数
1
解决办法
3493
查看次数

如果排序需要 O(n) 时间,我们为什么不使用尝试进行排序?

以下是使用特里树对字符串进行排序的算法的描述:

该算法首先O(n)及时插入trie中的所有项目,其中n是要排序的单词列表中的字符总数。

然后它按顺序遍历树,当遇到is_end设置了标志的节点时,打印出一个以它的前缀开头的节点。这需要对特里树进行完整的遍历,这需要O(m)时间,其中 m 是特里树中的节点数。这以 为界n,因此这一步也以 为界O(n)

整个算法由两个子程序组成,每个子程序以 为界O(n)。例如,如果我们说平均单词包含c字符,那么 ifm是单词数,cm == n,并且总运行时间受O(n) == O(cm) == O(m)(我将其更改为的原因m是因为这是要排序的列表长度的传统度量,不是字符总数)。

因此,我的问题是,如果这个运行时分析是正确的,为什么这不是字符串排序的默认方法,因为它比任何O(nlogn)排序算法都快?

sorting algorithm trie time-complexity data-structures

5
推荐指数
1
解决办法
802
查看次数

使用 webpack 时如何跟踪 Reactjs 控制台错误?

我正在遵循redux 教程并使用 webpack 来捆绑 js 文件。

我的问题是,React 的控制台错误通过 webpack 包显示堆栈跟踪,而我希望它们通过实际的 js 代码显示堆栈跟踪。

例如,我在其中一个 js 文件中引入了拼写错误来演示。这是 Chromium 控制台中的错误: 当前错误消息的屏幕截图

我知道源映射,并且我已启用它们。它们允许我添加断点之类的东西,但它们似乎不允许从预捆绑的代码中打印错误消息。

这是package.json:

{
  "name": "feedmeapp",
  "version": "0.0.1",
  "devDependencies": {
    "babel": "^6.5.2",
    "babel-core": "^6.6.5",
    "babel-loader": "^6.2.4",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-react": "^6.5.0",
    "babel-preset-stage-0": "^6.5.0",
    "eslint": "^2.13.1",
    "react": "^0.14.7",
    "react-hot-loader": "^1.3.0",
    "redux-devtools": "^3.1.1",
    "webpack": "^1.12.13",
    "webpack-bundle-tracker": "0.0.93",
    "webpack-dev-server": "^1.14.1"
  },
  "dependencies": {
    "es6-promise": "^3.1.2",
    "isomorphic-fetch": "^2.2.1",
    "lodash": "^4.5.1",
    "radium": "^0.16.6",
    "react-cookie": "^0.4.5",
    "react-dom": "^0.14.7",
    "react-redux": "^4.4.0",
    "redux": "^3.3.1",
    "redux-thunk": "^1.0.3"
  }
} …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack webpack-dev-server redux react-redux

2
推荐指数
1
解决办法
3125
查看次数