Javascript 调用三元运算符中的react组件
有一个导出功能函数,它基于表示类型的参数,以csv或xls格式导出数据 它适用于xls,但不适用于csv,代码如下: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
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()}
);
是的,这很有意义。一定是这样。