Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 Eslint错误:';应为赋值或函数调用,而应为表达式';_Javascript_Reactjs_Expression - Fatal编程技术网

Javascript Eslint错误:';应为赋值或函数调用,而应为表达式';

Javascript Eslint错误:';应为赋值或函数调用,而应为表达式';,javascript,reactjs,expression,Javascript,Reactjs,Expression,运行下面的代码时,会抛出eslint错误: handleColorChangeComplete(color) { const newState = { item: { ...this.state.item, color, } }; const modFields = this.state.modifiedFields;

运行下面的代码时,会抛出eslint错误:

    handleColorChangeComplete(color) {
        const newState = {
            item: {
                ...this.state.item,
                color,
            }
        };
        const modFields = this.state.modifiedFields;
        if (!modFields.includes('color')) {
            modFields.push('color');
            newState.modifiedFields === modFields;
        }
        this.setState(newState);
    }

问题似乎与
newState.modifiedFields===modFields
有关


我如何解决这个问题?我应该用三元运算符重写吗?

我不确定您在这里想要实现什么
=
是一个布尔运算符,因此
newState.modifiedFields===modFields
是一个返回
true
false
的表达式。如果要设置
newState.modifiedFields
的值,只需使用
newState.modifiedFields=modFields

这一行应该做什么?您正在比较两个对象,但没有对结果执行任何操作
newState.modifiedFields===modFields
不做任何事情,因此您的linter将其标记为潜在错误?您仍然没有解释您期望的内容
newState.modifiedFields===modFields要做的事。额外的代码并不能使这一点更加清楚。给出的答案是正确的。尝试执行布尔运算而不指定结果是不正确的。作业通过
=
完成。谢谢Matt。这是在一个句柄函数中更新颜色。我更新了问题中的代码。