小编Coh*_*chi的帖子

在 react-router-dom 中将 id 作为道具传递

我想将 props 中的 ID 传递给组件 react 我使用 react-router-dom 这是我的 app.js 文件

          <Switch location={this.props.location}>
        <Route exact path="/" component={Home} />
        <Route path="/list" component={List} />
        <Route path='/img/:imgId' component={() => <Img imgId={this.props.params.imgId}/>} />
      </Switch>
Run Code Online (Sandbox Code Playgroud)

当我转到下一个 url img / 2 时,路由器向我发送了正确的页面,但道具中不存在 id。当我在 chrome 上查看 React 开发人员工具时,我可以看到

<Switch>
 <Route>
  <component>
   <Img>
   </Img>
  </component>
 </Route>
</Switch>
Run Code Online (Sandbox Code Playgroud)

在名为 component 的组件中,我在 props.match.params.imgId 中有一些东西但是当我继续使用 Img 组件时,这里是我拥有的道具: imgId: {empty object}

你知道如何恢复参数中的id吗?

谢谢 :)

javascript reactjs react-router-dom

6
推荐指数
1
解决办法
1万
查看次数

获取嵌套数组 JS 中对象的所有父对象

我在使用 vuejs 的项目上遇到问题。我有一个像这样的嵌套对象数组:

数据

data: [
  {
    "id":1,
    "parent_id":null,
    "title":"First folder",
    "children":[
       {
          "id":3,
          "parent_id":1,
          "title":"First folder in parents",
          "children":[]
       },
       {
          "id":4,
          "parent_id":1,
          "title":"Second folder in parents",
          "children":[
             {
               "id":5,
               "parent_id":4,
               "title":"test",
               "children":[]
             }
           ],
       }
    ]
  },
  {
    "id":2,
    "parent_id":null,
    "title":"Second folder",
    "children":[],
  }
]
Run Code Online (Sandbox Code Playgroud)

我想获取计算属性中特定 id 的所有父母的数组

    computed: {
      parents() { 
        this.getAllParents(data, currentId);
      },
    },
Run Code Online (Sandbox Code Playgroud)

还有我的功能

        getParents(array, id, parentsId) {
        for (let i = 0; i < array.length; i++) {
            const child = array[i];
            if (child.id === …
Run Code Online (Sandbox Code Playgroud)

javascript arrays recursion loops

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

Npm run watch 不适用于 laravel : sh: cross-env: command not found

我想在我的 Laravel 项目中执行“npm run watch”,但它不起作用。有错误信息

@ watch /Applications/MAMP/htdocs/test-tech/laravel5 npm run development -- --watch

@ development /Applications/MAMP/htdocs/test-tech/laravel5 cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack .config.js "--watch"

sh:cross-env:找不到命令 npm ERR!文件 sh npm 错误!代码 ELIFECYCLE npm ERR!errno ENOENT npm 错误!系统调用产生 npm ERR!@发展:cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch" npm ERR!生成 ENOENT npm ERR!npm 错误!@ 开发脚本失败。npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。npm WARN 本地 package.json 存在,但是缺少 node_modules,您是要安装吗?

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!/Users/xxx/.npm/_logs/2019-03-29T11_19_55_390Z-debug.log npm ERR!代码 ELIFECYCLE npm ERR!错误号 1 npm 错误号!@手表:npm run development -- --watch npm ERR!退出状态 1 npm …

macos npm laravel npm-run

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

无法读取 null 的属性 - React.js 状态

我正在尝试使用 React 和 Firebase 制作一个待办事项列表应用程序。

这是一个单页应用程序(登录除外)。在我的页面组件中,我调用列表组件。在我的列表组件中,我获取了放入状态的 firebase 数据。在 React Dev Tool 的 List 组件中,我可以看到如下状态:

list{items{...},listName:"exemple"}
Run Code Online (Sandbox Code Playgroud)

因此,在我的返回中,我尝试显示 listName 的值,如下所示:{this.state.list.listName} 但出现以下错误::无法读取'listName'null 的属性

这是我的列表的组件:

  class ListPage extends Component {
      constructor(props) {
    super(props);

    this.state = {
      list: null,
    };
      }
      componentDidMount() {
    this.listRef = db.ref(`users/${this.props.user.uid}/lists
    ${this.props.cle}`);
    this.listRef.on('value', data=>{
        this.setState({
            list: data.val()
        })
    })
    }
     render() {
    return (
      <div>
        <h1>List : {this.state.list.listName}</h1>
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

谢谢

setstate firebase reactjs

0
推荐指数
1
解决办法
4646
查看次数

返回 reactjs 的多个条件

我正在创建一个 react 项目,但在显示时无法执行多个条件我的组件具有如下状态:{user valid: "ok" valid2: "ok" }

在 return () 我想添加一个条件来显示“OK”,如果 valid 或 valid2 等于 ok 我试过这样的事情:

<p>
 {
   this.state.user.valid === "ok" || this.state.user.valid2 === "ok" ? "ok"
: "verify"
 }
</p>
Run Code Online (Sandbox Code Playgroud)

但它不起作用 请问如何做到这一点?

先感谢您

conditional reactjs

0
推荐指数
1
解决办法
8815
查看次数