期望一个赋值或函数调用,而是看到一个表达式 React JS
Posted
技术标签:
【中文标题】期望一个赋值或函数调用,而是看到一个表达式 React JS【英文标题】:Expected an assignment or function call and instead saw an expression React JS 【发布时间】:2021-04-12 19:17:49 【问题描述】:我正在尝试在样式中创建一个 if 语句,但我在样式 if 语句中不断收到 error Expected an assignment or function call and instead saw an expression
。我试图修复放置/* eslint-disable */
,但错误更改为 The `style` prop expects a mapping from style properties to values, not a string. For example, style=marginRight: spacing + 'em' when using JSX.
。有人可以知道我做错了什么吗?
import React, useState from 'react'
export default function Calendar()
return(
<div>
<table id='calendario'>
<tbody>
lines.map((linha) => (
<tr key=linha>
columns.map((coluna , e , i) => (
<td
key=coluna onLoad=() =>
e < index.length ? (e = e) : e++;
i >= proximo_mes.length ? (i = i) : i++;
style=() => linha == 0 && coluna == e ? filter:"brightness(0.6)" : filter:"brightness(1)";
linha == 4 && coluna == i ? filter:"brightness(0.6)" : filter:"brightness(1)"
>dias_no_mes[indice++]</td>
))
</tr>
))
</tbody>
</table>
</div>
);
【问题讨论】:
【参考方案1】:我认为 style prop 值应该类似于以下内容,因为它需要一个值
<td
...
style= filter: linha == 0 && coluna == e ? "brightness(0.6)" : "brightness(1)"
>
【讨论】:
我改变了,但现在我得到了以下信息:style
道具需要从样式属性到值的映射,而不是字符串。例如,使用 JSX 时 style=marginRight: spacing + 'em'。
我尝试只使用一个表达式并且它有效,但我需要在样式中使用两个表达式
它显示错误:期望一个赋值或函数调用,而是看到一个表达式。但是当它只有一个表达式时它的作品,但我需要样式标签内的两个表达式
我的意思是你提到的有效的代码
style=linha == 0 && coluna == e ? 过滤器:“亮度(0.6)”:过滤器:“亮度(1)”以上是关于期望一个赋值或函数调用,而是看到一个表达式 React JS的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript:错误 - “期望一个赋值或函数调用,而是看到一个表达式”?