簡體   English   中英

從 function 返回值並在 react jsx 中使用

[英]Return value from function and use in react jsx

我有一個 JSX 代碼,我需要在其中調用 Javascript pure function,它返回一個值並使用該值,如下所示

<ListItemText title={"Details"} primary={<span className={compStyle && classes[compStyle]}></span>} secondary={content} />

純 JS 函數:

const getDetails = (arrDetails, time1, time2) =>{
    //execute business logic and return string
    return "Details here"
 }

我如何在ListItemText JSX 中調用getDetails function 並獲取返回值並在title={"Details"}和同一 JSX 中的span等其他地方使用它?

您不能直接在 JSX 中重復使用 function 計算。 但是,您可以將結果存儲在一個變量中,然后將其傳遞給 JSX 中的不同組件 props。

const ListItemTextWithDetails = () => {
   const details = getDetails()

   // here we are passing `details` to two properties 
   // in this way reusing the computed value
   return <ListItemText title={details} primary={<span>{details}</span>} />
}

// somewhere else - render that component
<ListItemTextWithDetails />

你可以使用 IIFE

(() => {
 const val = getDetails();
 return <ListItemText title={val} primary={<span className={compStyle && classes[compStyle]}></span>} secondary={val} />
})()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM