typescript - Preact/typeScript 条件渲染 "expression expected"

标签 typescript preact conditional-rendering

你好,我想做的只是一个简单的条件渲染,我之前在 React 中做过,但我似乎无法在 Preact 中完成。

 export const InfoSection = (props: Props) => 
    {
        return (
            <div>
                <table>
                    <tr>
                        <th>#</th>
                        <th>User</th>
                        <th>Info</th>
                        <th>date</th>
                    </tr>
                    {
                        props.infoEntries.map( (l, i) => 
                        {
                            return (
                                <tr>
                                    <td>{i+1}</td>
                                    <td{l.UserId}</td>
                                    <td>{l.Info}</td>
                                    <td>{l.Date}</td>
                                </tr>
                            )
                        })
                    }
                    {
                        if(this.props.showEntryDetails){
                            return(
                        <tr>
                          <td>"Hello"</td>
                        </tr>
                    )
                        }
                    }
                </table>
            </div>
        )
    }

正如您在底部看到的那样,我只是尝试在 showEntryDetails 上使用 if,但在这里我收到一条错误消息,提示“预期表达式”,我认为这是 typescript 错误,但我不知道为什么它不让我使用 if那里。任何人都可以向我解释为什么以及是否有办法做我想做的事?

最佳答案

在 JavaScript 中(因此在 TypeScript 中也是如此),有表达式和语句。您可以将表达式用作语句,但反之则不行。

if 是一个语句,但 JSX 的大括号只需要表达式。进行条件渲染的正确方法是使用 &&:

{this.props.showEntryDetails && (
    <tr>
        <td>"Hello"</td>
    </tr>
)}

关于typescript - Preact/typeScript 条件渲染 "expression expected",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609606/

相关文章:

angularjs - 如何使用http get从本地Json文件加载数据?

javascript - 未捕获的 TypeError : Object (. ..) 不是一个函数

javascript - 在 Preact、Webpack 2 中使用 UglifyJS 时出现意外的 token 错误

javascript - 找不到 Amchart HTML 容器( react )

html - 非 JSF 组件的条件渲染(普通 HTML 和模板文本)

Angular 4 下载 base64 图像数组作为 ZIP 文件

typescript - 如何制作可与字符串文字一起使用并正确进行类型推断的 TypeScript 字符串枚举

angular - Angular *ngFor 中的 "="(等号)和 "of"有什么区别?

javascript - 如果 React 组件库需要 React 作为对等依赖项,我该如何使用它来制作 Preact?

reactjs - 如何在我的 React 应用程序中仅显示我的 Register 组件