Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 为什么显示隐藏细节?_Javascript_Reactjs - Fatal编程技术网

Javascript 为什么显示隐藏细节?

Javascript 为什么显示隐藏细节?,javascript,reactjs,Javascript,Reactjs,为什么它显示隐藏的细节?这个名字是真的 let name=true; const template= ( <div> <h1>Visibility Toggle</h1> <button >{name==true ? 'Show details': 'Hide details'}</button> <p></p> </div>

为什么它显示隐藏的细节?这个名字是真的

let name=true;
const template= (
      <div>
         <h1>Visibility Toggle</h1>
         <button >{name==true ? 'Show details': 'Hide details'}</button>
         <p></p>
      </div>
);

const appRoot=document.getElementById('app');

ReactDOM.render(template,appRoot);
让name=true;
常量模板=(
可见性切换
{name==true?'Show details':'Hide details'}

); const approt=document.getElementById('app'); render(模板,approt);
您是否尝试
console.log
name以确保它是真实的。如果它实际上是真的,那么“显示详细信息”也应该显示,在JS中,将事物与
true
false
进行比较是非常危险的。(很多人说使用
=
是危险的,应该避免——我不同意,但肯定有一些陷阱需要注意,这是最大的陷阱。)请特别注意,
name==true
不测试
name
是否为truthy或falsy-要做到这一点,您应该使用更简单的
name
作为三元运算符中的测试。我假设这不是完整的示例,并且您的问题发生在逻辑的某个地方。您可以尝试
console.log
记录
name
的值,并尝试查找罪犯。另外,避免以小写字母开头的组件名称,因为如果不将它们重新绑定到以大写字母开头的变量,就无法在JSX表达式中使用它们。您是在什么样的环境下尝试此操作的?我将其更改为:name?“显示详细信息“:“隐藏详细信息”