我想在有条件的反应本机中返回2按钮

时间:2019-08-29 06:42:38

标签: reactjs react-native react-native-android

我正在使用本机0.59.9,我想在1个条件中返回2个按钮。但这没用。如果只是一个按钮,它可以正常工作,但是如果我放2个按钮,我会遇到一些错误

我尝试将()设置为有条件,但没有成功

{this.props.options.config.editable ?
    <Button
        onPress={ () => this.bottomSheet.open()
        }
        color={buttonTextColor}
        title={locals.config.title}
    />
   //this button make the error
    <Button 
        onPress={() => this.bottomSheet.open()
        }
        color={buttonTextColor}
        title={locals.config.title}
    />
    :
    <View/>
}

我要有条件退还那2个按钮

2 个答案:

答案 0 :(得分:2)

将两个按钮都包装在同一容器或React.fragment中。

{ this.props.options.config.editable ?
    <React.Fragment>
        <Button
            onPress={
                Platform.OS === 'ios'
                    ? this._onPressImage
                    : () => this.bottomSheet.open()
            }
            color={buttonTextColor}
            title={locals.config.title}
        />
        //this button make the error
        <Button 
            onPress={
                Platform.OS === 'ios'
                    ? this._onPressImage
                    : () => this.bottomSheet.open()
            }
            color={buttonTextColor}
            title={locals.config.title}
        />
    </React.Fragment>
:
<View/>

}

答案 1 :(得分:0)

在React中,您需要具有一个呈现的单个父元素。尝试用React.Fragment包装按钮。像这样:

<>
    <Button
        onPress={ () => this.bottomSheet.open()
        }
        color={buttonTextColor}
        title={locals.config.title}
    />
   //this button make the error
    <Button 
        onPress={() => this.bottomSheet.open()
        }
        color={buttonTextColor}
        title={locals.config.title}
    />
</>