javascript - 将 Prop 从一个组件传递到另一个组件时,对象作为 react 子组件(找到带有键的对象)无效

标签 javascript reactjs

我将特定选定的 URL(数据)从组件(List.js)传递到组件(DD.js),DD.js 有两个组件,左组件和右组件,我想在左组件中显示数据所以已将 Prop 传递给左侧组件,但我收到错误消息

Objects are not valid as a React child (found: object with keys {url})

。如果您打算渲染子集合,请改用数组。

DD.js

export default class DD extends Component {
  render(){
    let data = this.props.location.state
    return(
      <div className="dd-wrapper">
        <div className="left-drawer-wrapper">
          <Left url={data}/>
        </div>
        {/*right side section*/}
      </div>
    );
  }
}

左.js

export default class Left extends Component{
  render(){
    let url = this.props.url
    return(
      <div>
        {url}
      </div>
    );
  }
}

列表.js

<tbody>
 {
   this.state.urls.map( (list,i) => {
   return(
     <tr key={i}>
       <td>
        <Link to={{pathname:`/service/${this.service_name}/requests`,
                        state:{url:this.state.urls[i]}}}
                        onClick={()=>this.selectedUrlHandler(i)}>{list} 
        </Link>
       </td>
       <td>{this.service_name}</td>
      </tr>
     );
   })
  }
</tbody>

当我执行 console.log(url) 时,我得到了请求的答案,但是当我删除它并仅执行 {url} 时,就会出现错误,不确定出了什么问题。

最佳答案

由于 url 被传递一个对象到尝试渲染它的 Left 组件,因此您会收到错误。相反,只需渲染 state 对象的特定属性,例如

export default class DD extends Component {
  render(){
    let data = this.props.location.state
    return(
      <div className="dd-wrapper">
        <div className="left-drawer-wrapper">
          <Left url={data}/>
        </div>
        {/*right side section*/}
      </div>
    );
  }
}
<小时/>
export default class Left extends Component{
  render(){
    let url = this.props.url.value
    return(
      <div>
        {url}
      </div>
    );
  }
}

关于javascript - 将 Prop 从一个组件传递到另一个组件时,对象作为 react 子组件(找到带有键的对象)无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55351635/

相关文章:

javascript - 如何在其他域中嵌入 React 组件?

javascript - map of react native official doc example && operator 和 word variable 的作用是什么

javascript - 使用 react v6 呈现在另一个组件中接收 Prop 的搜索栏组件的最佳方法是什么

javascript - ReactJs。获取子组件

javascript - 如何避免多个 Node 进程做重复的事情?

javascript - 从手机或计算机检测用户并在不同位置显示广告

javascript - 如何在 ListView 上实现滑动功能(react-native)?

Javascript 相当于 iOS 的 'tap' 事件,但适用于 android

reactjs - 为什么类型不能分配给泛型类型

javascript - 组件未完全渲染且不随 State 的变化而变化