Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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组件_Javascript_Reactjs_Ecmascript 6_Export_Ternary - Fatal编程技术网

Javascript 调用三元运算符中的react组件

Javascript 调用三元运算符中的react组件,javascript,reactjs,ecmascript-6,export,ternary,Javascript,Reactjs,Ecmascript 6,Export,Ternary,有一个导出功能函数,它基于表示类型的参数,以csv或xls格式导出数据 它适用于xls,但不适用于csv,代码如下: const exportFile = (exportType) => { exportType === 'csv' ? exportCSV() : exportXLS(); }; const exportXLS = () => { const sheet = XLSX.utils.json_to_sheet(computeExportFi

有一个导出功能函数,它基于表示类型的参数,以csv或xls格式导出数据

它适用于xls,但不适用于csv,代码如下:

  const exportFile = (exportType) => {
    exportType === 'csv' ? exportCSV() : exportXLS();
  };

  const exportXLS = () => {
    const sheet = XLSX.utils.json_to_sheet(computeExportFields(orders));
    const workbook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(workbook, sheet, 'Sheet1');
    XLSX.writeFile(workbook, `MyFile.xls`);
  };

  const exportCSV = () => {
    return <CSVLink {...csvReport} />;
  };
const exportFile=(exportType)=>{
exportType=='csv'?exportCSV():exportXLS();
};
const exportXLS=()=>{
const sheet=XLSX.utils.json_to_sheet(computeExportFields(orders));
const workbook=XLSX.utils.book_new();
XLSX.utils.book_append_sheet(工作簿,sheet,“Sheet1”);
writeFile(工作簿,`MyFile.xls`);
};
const exportCSV=()=>{
返回;
};

因此,问题一定出在最后一个函数中,
exportCSV
。有什么想法吗?

您正在从
exportCSV
函数返回JSX代码,它应该只在
render
中。尝试设置状态以检查导出的类型,例如:

const [type, setType] = useState();

const exportFile = (exportType) => {
  setType(exportType === 'csv' ? : 'xls');
};

return (
  {type === 'csv' ? <CSVLink {...csvReport} /> : exportXLS()}
);
const[type,setType]=useState();
const exportFile=(exportType)=>{
setType(exportType=='csv'?:'xls');
};
返回(
{type==='csv'?:exportXLS()}
);

是的,这很有意义。一定是这样。