GVKun编程网logo

jsx中的if-else语句:ReactJS(jsx if else)

3

本文将介绍jsx中的if-else语句:ReactJS的详细情况,特别是关于jsxifelse的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于and

本文将介绍jsx中的if-else语句:ReactJS的详细情况,特别是关于jsx if else的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于android中的if else语句、AngularJS模板中的if else语句、c – SSE内在函数中的if / else语句、DB2 / 400中的if-else语句的知识。

本文目录一览:

jsx中的if-else语句:ReactJS(jsx if else)

jsx中的if-else语句:ReactJS(jsx if else)

当需要指定特定状态时,我需要更改渲染功能并运行一些子渲染功能,

例如:

render() {    return (           <View style={styles.container}>            if (this.state == ''news''){                return (                    <Text>data</Text>                )            }        </View>    )}

如何在不更改场景的情况下实现这一点,我将使用标签动态更改内容。

答案1

小编典典

根据 DOC

if-else语句在JSX中不起作用。这是因为JSX只是函数调用和对象构造的语法糖。

基本规则:

JSX从根本上讲是syntactic sugar.。编译后,JSX表达式成为常规的JavaScript函数调用,并评估为JavaScript对象。我们可以通过将花括号括起来将任何JavaScript表达式嵌入JSX中。

但是只有表达式而不是语句,直接意味着我们不能在JSX内放置任何语句( if-else / switch / for)。


如果要有条件地渲染元素,请使用ternary operator,如下所示:

render() {    return (           <View style={styles.container}>            {this.state.value == ''news''? <Text>data</Text>: null }        </View>    )}

另一个选择是,从中调用一个函数jsx,并将所有if-else逻辑放入其中,如下所示:

renderElement(){   if(this.state.value == ''news'')      return <Text>data</Text>;   return null;}render() {    return (           <View style={styles.container}>            { this.renderElement() }        </View>    )}

android中的if else语句

android中的if else语句

我是Android的新手,在互联网上找到了一些很好的教程,所以我尝试了一个带有if-else语句的简单活动.我正在尝试“正确和错误”的提示/ Toast:

Button page1 = (Button) findViewById(R.id.button2);
       page1.setonClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                final ImageView iv1 = (ImageView) findViewById(R.id.imageView1);
                if (iv1.equals(R.drawable.airplane1)) {
                    Toast.makeText(getApplicationContext(), "Correct",
                            Toast.LENGTH_SHORT).show();
                } else if (iv1.equals(R.drawable.airplane2)) {
                    Toast.makeText(getApplicationContext(), "Please put an answer",
                            Toast.LENGTH_SHORT).show();
                } else if (iv1.equals(R.drawable.airplane3)){
                    Toast.makeText(getApplicationContext(), "Wrong",
                            Toast.LENGTH_SHORT).show();
                }
            }

       });

我不确定我的if-else语句有什么问题,但根本没有提示.我尝试删除(iv1.equals(R.drawable.airplane3))和(iv1.equals(R.drawable.airplane2))然后它只显示错误的Toast.我似乎无法正确地提示我.

这是我班级的完整代码:

public class MainActivity extends Activity {
private static final Random imagerandom = new Random();

private static final Integer[] Imagesnumber = 
    { R.drawable.airplane1, R.drawable.airplane2, R.drawable.airplane3, };
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Integer a = Imagesnumber[imagerandom.nextInt(Imagesnumber.length)];
    final ImageView iv = (ImageView) findViewById(R.id.imageView1);

    View nextButton = findViewById(R.id.button1);
    nextButton.setonClickListener(new Button.OnClickListener() {
         public void onClick(View V) {
              int resource = Imagesnumber[imagerandom.nextInt(Imagesnumber.length)];
              iv.setimageResource(resource);
         }
    });
    Button page1 = (Button) findViewById(R.id.button2);
       page1.setonClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                final ImageView iv1 = (ImageView) findViewById(R.id.imageView1);
                if (iv1.equals(R.drawable.airplane1)) {
                    Toast.makeText(getApplicationContext(), "Correct",
                            Toast.LENGTH_SHORT).show();
                } else if (iv1.equals(R.drawable.airplane2)) {
                    Toast.makeText(getApplicationContext(), "Please put an answer",
                            Toast.LENGTH_SHORT).show();
                } else if (iv1.equals(R.drawable.airplane3)){
                    Toast.makeText(getApplicationContext(), "Wrong",
                            Toast.LENGTH_SHORT).show();
                }
            }

       });




}

}

解决方法:

iv1.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.airplane1).getConstantState())                                                                                                                                                                                                                                                                                                                                                                                                                                              

AngularJS模板中的if else语句

AngularJS模板中的if else语句

我想在AngularJS模板中做一个条件。我从Youtube API获取视频列表。某些视频的比例为16:9,有些视频的比例为4:3。

我想要这样的条件:

if video.yt$aspectRatio equals widescreen then 
    element's attr height="270px"
else
    element's attr height="360px"

我正在使用迭代视频ng-repeat。不知道该如何应对这种情况:

  • 在范围内添加功能?
  • 是否在模板中?

c – SSE内在函数中的if / else语句

c – SSE内在函数中的if / else语句

我正在尝试使用SSE内在函数优化一小段代码(我是关于该主题的完全初学者),但我有点坚持使用条件.

我原来的代码是:

unsigned long c;
unsigned long constant = 0x12345678;
unsigned long table[256];
int n,k;

for( n = 0; n < 256; n++ )
{
  c = n;
  for( k = 0; k < 8; k++ )
    {
      if( c & 1 ) c = constant ^ (c >> 1);
      else c >>= 1;
    }
  table[n] = c;
}

这段代码的目标是计算一个crc表(常量可以是任何多项式,它在这里不起作用),

我想我的优化代码是这样的:

__m128 x;
__m128 y;
__m128 *table;

x = _mm_set_ps(3,2,1,0);
y = _mm_set_ps(3,0);
//offset for incrementation
offset = _mm_set1_ps(4);

for( n = 0; n < 64; n++ )
{
    y = x;
    for( k = 0; k < 8; k++ )
    {
        //if do something with y
        //else do something with y
    }
    table[n] = y;
    x = _mm_add_epi32 (x,offset);
}

我不知道如何通过if-else语句,但我怀疑有一个聪明的伎俩.有谁知道如何做到这一点?

(除此之外,我的优化可能非常差 – 对它的任何建议或更正都会得到最大的同情)

解决方法

你可以完全摆脱if / else.回到我制作MMX汇编代码的日子,这是一个常见的编程活动.让我首先对“虚假”声明进行一系列转换:
c >>= 1;

c = c >> 1;

c = 0 ^ (c >> 1);

我为什么要介绍独家或?因为在“真实”声明中也可以找到exclusive或者:

c = constant ^ (c >> 1);

注意相似性?在“真实”部分中,我们用常数xor,在虚假部分中,我们xor为零.

现在,我将向您展示整个if / else语句的一系列转换:

if (c & 1)
    c = constant ^ (c >> 1);          // same as before
else
    c =        0 ^ (c >> 1);          // just different layout

if (c & 1)
    c =  constant      ^ (c >> 1);
else
    c = (constant & 0) ^ (c >> 1);    // 0 == x & 0

if (c & 1)
    c = (constant & -1) ^ (c >> 1);   // x == x & -1
else
    c = (constant &  0) ^ (c >> 1);

现在两个分支只在二进制的第二个参数中有所不同,并且可以从条件本身中简单地计算,从而使我们能够摆脱if / else:

c = (constant & -(c & 1)) ^ (c >> 1);

免责声明:此解决方案仅适用于二进制补码架构,其中-1表示“所有位设置”.

DB2 / 400中的if-else语句

DB2 / 400中的if-else语句

我正在尝试在AS400中运行包含if-else语句的SQL,但是它不起作用。我正在使用i Series Navigator创建一个View,以便运行它。

SELECT IF FIELD1 IS NOT NULL THEN 'AAA' ELSE 'BBB' END IF
FROM LIB.TABLE1

我得到的错误是:

SQL State: 42601
Vendor Code: -199
Message: [SQL0199] Keyword IS not expected. Valid tokens:,FROM INTO. Cause . .

我没有写就尝试过null但相反

SELECT IF FIELD1 ='' THEN 'AAA' ELSE 'BBB' END IF
    FROM LIB.TABLE1

然后我得到以下错误:

SQL State: 42601
Vendor Code: -104
Message: [SQL0104] Token = was not valid. Valid tokens:,FROM INTO. Cause . . . . . :   A syntax error was detected at token =.  Token = is not a

今天关于jsx中的if-else语句:ReactJSjsx if else的分享就到这里,希望大家有所收获,若想了解更多关于android中的if else语句、AngularJS模板中的if else语句、c – SSE内在函数中的if / else语句、DB2 / 400中的if-else语句等相关知识,可以在本站进行查询。

本文标签: