Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React JS-如何将不同的道具传递到其他道具的地图中_Javascript_Arrays_Reactjs_Components - Fatal编程技术网

Javascript React JS-如何将不同的道具传递到其他道具的地图中

Javascript React JS-如何将不同的道具传递到其他道具的地图中,javascript,arrays,reactjs,components,Javascript,Arrays,Reactjs,Components,问题:如何将此参数数组传递到映射了数据数组的组件中? 我的州有两个数组this.state={data:[],params:[]}

问题:如何将此
参数
数组传递到映射了
数据
数组的
组件中?
我的州有两个数组
this.state={data:[],params:[]}
//PostList.js
//.....Removed for brevity....
render(){
    // Tried let params = this.props.params; HERE
    let socialPostNodes = this.props.data.map(socialPost => {
        // Tried let params = this.props.params; HERE
        return (
            <Post
                //I need params = { this.props.params } HERE
                messageNumber = { socialPost.message.indexOf('', 1) }
                message={ socialPost.message}
                uniqueID={ socialPost['_id'] }
                key={ socialPost['_id'] } >
                { socialPost.message }
            </Post>
        )
    });
//.....removed for brevity......

当您输入
map
时,此
范围将丢失!但是
map
函数允许您提供第二个参数来提供
上下文

例如:


传入第二个参数将允许您访问父作用域的
this
,这意味着
this.props.params
现在将具有值。

当您输入
map
时,此
作用域将丢失!但是
map
函数允许您提供第二个参数来提供
上下文

例如:


传入第二个参数将允许您访问父作用域的
this
,这意味着
this.props.params
现在将具有值。

@kevin danikowski我想我们已经弄糊涂了。您能给我看一下传递
this.state.data
this.state.params
的部分吗?它应该在您的
父组件中,该组件正在导入从
Postlist.js导出的组件。
@keshavDulal-gravityplanx能够解决它,我这样传递它:。。。是 啊确切地这就是我想确定的。“不管怎样,”凯文·达尼科夫斯基说,“我想我们被搞糊涂了。您能给我看一下传递
this.state.data
this.state.params
的部分吗?它应该在您的
父组件中,该组件正在导入从
Postlist.js导出的组件。
@keshavDulal-gravityplanx能够解决它,我这样传递它:。。。是 啊确切地这就是我想确定的。无论如何。
class Post extends Component {
    loadInParams() {
        let socialMessage = this.props.message;
        if (socialMessage.indexOf("{{company}}") >= 0) {
            let newSocialMessage = socialMessage.replace("{{company}}", 'company')
            return newSocialMessage
        } else {
            let newSocialMessage = socialMessage;
            return newSocialMessage
        }
    }

    render() {
        return (
            <div>
                <h4> Post { this.props.messageNumber } </h4>
                <strong>Post Template: </strong> { this.props.message }
                <br />
                <strong>Ready Post: </strong>
                { this.loadInParams() }
            </div>
        )
    }
}
this.props.data.map(socialPost => {
    ...
}, this);