所以,这是代码
import React from 'react';
import ReactDOM from 'react-dom';
// judgmental will be true half the time.
const judgmental = Math.random() < 0.5;
const favoriteFoods = (
<div>
<h1>My Favorite Foods</h1>
<ul>
{<li>Sushi Burrito</li>}
<li>Rhubarb Pie</li>
{burp && <li>Not Decent</li>}
<li>Broiled Grapefruit</li>
</ul>
</div>
);
ReactDOM.render(
favoriteFoods,
document.getElementById('app')
);
当burp为ReactDOM.render
时,我和我的朋友对于将false
作为参数发送到false
的确切内容有不同的看法。
这是我的:如果JS注入里面,当burp为false时,逻辑运算符应该像const favoriteFoods = (
<div>
<h1>My Favorite Foods</h1>
<ul>
{<li>Sushi Burrito</li>}
<li>Rhubarb Pie</li>
{burp}
//burp is a false, not even a JSX element
<li>Broiled Grapefruit</li>
</ul>
</div>
);
那样返回burp,这样JSX看起来就像
ReactDOM.render
这将发送到{burp}
,并且未呈现的原因是{false}
中的false
不是JSX,因此不会在屏幕上显示。
然而,我的朋友以这种方式看待它:代码部分未运行的原因是我在这里引用
双方必须为了运行
的代码
因为整个逻辑运算符撤离 const favoriteFoods = (
<div>
<h1>My Favorite Foods</h1>
<ul>
{<li>Sushi Burrito</li>}
<li>Rhubarb Pie</li>
//nada, this code evacated false so it will not run at all.
<li>Broiled Grapefruit</li>
</ul>
</div>
);
因此这部分代码无效。他认为这是一个布尔计算。 JSX就像
{burp && <li>Not Decent</li>}
这将被发送到ReactDOM.render并且它未呈现的原因是data = tf.get_variable("myvar1", shape=[4, 3], dtype=tf.float64)
mu = tf.get_variable("mu", initializer=tf.constant(np.arange(2*3).reshape(2, 3), dtype=tf.float64))
centered_data = data - tf.expand_dims(mu, axis=1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
ans_value, centered_data_value, mu_value = sess.run([centered_data, data, mu], {data: np.arange(4 * 3).reshape(4, 3)})
print("centered_data_value: ", centered_data_value)
print("mu: ", mu_value)
print("ans: ", ans_value)
撤离到假,此代码将不会运行,因此,不会在屏幕上显示。
我相信我是对的但是因为他是职业选手而我两小时前就开始学习JSX了。有人帮忙!
答案 0 :(得分:2)
您的解释基本上是正确的。这是技术解释的一个很好的参考。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators
答案 1 :(得分:1)
你是对的。来自React docs on conditional rendering:
...在JavaScript中,
true && expression
始终评估为expression
,false && expression
始终评估为false
。因此,如果条件为
true
,则&&
之后的元素将出现在输出中。 如果是false
,则React会忽略并跳过它。
false
,null
,undefined
和true
是有效的孩子。他们根本就不渲染。