Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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数组推送随机工作或干扰post数据_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript数组推送随机工作或干扰post数据

Javascript数组推送随机工作或干扰post数据,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个正常工作的功能: extractDataFromClusters(dataSource) { let datas = []; dataSource.clusters.map(cluster => { datas.push(<Text>SEPARATOR</Text>); cluster.map(data => datas.push( <View style={styles.slide1}> <

我有一个正常工作的功能:

extractDataFromClusters(dataSource) {
let datas = [];
dataSource.clusters.map(cluster => {
  datas.push(<Text>SEPARATOR</Text>);
  cluster.map(data =>
    datas.push(
      <View style={styles.slide1}>
        <Text>{data}</Text>
      </View>,
    ),
  );
  datas.push(<Text>SEPARATOR</Text>);
});
return datas;
}
extractDataFromClusters(数据源){
设datas=[];
dataSource.clusters.map(cluster=>{
数据推送(分离器);
map(数据=>
数据推送(
{data}
,
),
);
数据推送(分离器);
});
返回数据;
}
但是,当我替换push to right标记值中的值时,我希望打印:

  extractDataFromClusters(dataSource) {
    let datas = [];
    dataSource.clusters.map(cluster => {
      datas.push(<Swiper
            style={styles.wrapper}
            height={200}
            horizontal={true}
            autoplay>);
      cluster.map(data =>
        datas.push(
          <View style={styles.slide1}>
            <Text>{data}</Text>
          </View>,
        ),
      );
      datas.push(</Swiper>);
    });
    return datas;
  }
extractDataFromClusters(数据源){
设datas=[];
dataSource.clusters.map(cluster=>{
datas.push();
map(数据=>
数据推送(
{data}
,
),
);
datas.push();
});
返回数据;
}
然后我得到了下一个错误:“引用错误:找不到变量:数据”。这怎么可能? 在map函数之前更改push怎么可能导致函数崩溃? 我没有碰那部分代码

这里有人有什么提示吗?我错过了什么


谢谢大家!

现在JSX就是这样工作的。:-)在数组中推一个JSX标记(
)的开头,然后再推它的结尾(
),就像推一个函数调用的一半(
foo(
),然后再推另一半(
);
)(事实上,JSX标记被转换为函数调用;)你不是在构建HTML字符串。JSX是编程语法,而不是文本表示法

相反,请完成JSX标记,并在其中使用
{}
为其提供内容:

extractDataFromClusters(dataSource) {
  return dataSource.clusters.map(cluster => (
    <Swiper
        style={styles.wrapper}
        height={200}
        horizontal={true}
        autoplay>
      {cluster.map(data => (
          <View style={styles.slide1}>
            <Text>{data}</Text>
          </View>,
        )
      )}
    </Swiper>
  ));
}
或forEach的

theArray.forEach(entry => {
    // ...
});

删除
push
参数后的尾随逗号?(啊!我漏掉了一个。如果在上面看到
datas.push
,点击刷新,它会神奇地消失。)
theArray.forEach(entry => {
    // ...
});