为什么我不能将 .toString 用于 this.props?反应

Why i can't use .toString to this.props? reactjs

我正在尝试使用 react-beutiful-dnd,它接受字符串作为组件 ID。当我使用 <Droppable droppableId={this.props.id.toString()}> 它 returns 一个错误:

TypeError: Cannot read property 'toString' of undefined

//App.js
//...
render(){
    return(
        <AppsComponent id={1} />
//...
//AppsComponent.js
//...
render(){
    return(
        <Draggable key={this.props.id.toString()} draggableId={this.props.id.toString()}>
//...

为什么?

不用toString就试试:

<Droppable droppableId={'droppable-' + this.props.id}>

例如:

var n = 5;
console.log("a = " + n); // a = 5

您不必执行 toString()。

您可以在此处查看我创建的工作示例。

https://codesandbox.io/s/ovjm8y9vvy