为了账号安全,请及时绑定邮箱和手机立即绑定

按下时更改本机文本的背景颜色

按下时更改本机文本的背景颜色

呼啦一阵风 2023-05-25 16:06:53
我想更改我的文本(标题和正文)背景颜色,当按下文本 press me 时。单击文本“按我”时,我不知道如何连接更改当前状态。我的 app.js 和 styles.js 相互连接。这是我到目前为止在 app.js 中的内容import React, { useState } from 'react';import { StyleSheet, Text, View, TouchableOpacity, TouchableHighlight } from 'react-native';import { styles } from './styles.js';export default function TextInANest() {  const [titleText, setTitleText] = useState('First Text');  const [bodyText, setBodyText] = useState('Second Text!');  onPressTitle = () => {    if (titleText == 'First Text' && bodyText == 'Second Text!') {      setTitleText('First Text After');      setBodyText('Second Text After!');    }    else if (titleText == 'First Text After' && bodyText == 'Second Text After!') {      setTitleText('Second Text');      setBodyText('Second Text!');    }  }  return (    <View style={styles.container}>        <Text style={styles.baseText} onPress={this._onPressButton}>        {/* <TouchableHighlight {...touchProps}> */}        <Text style={styles.titleText}>            {titleText}{'\n'}{'\n'}</Text>         {/* </TouchableHighlight> */}          <Text style={styles.bodyText} numberOfLines={5}>            {bodyText}{'\n'}{'\n'}          </Text>        </Text>      <View >        <TouchableOpacity          onPress={onPressTitle}>          <Text style={styles.pressMe}>Press Me!</Text>        </TouchableOpacity>      </View>    </View>  );}
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

您可以简单地拥有另一个状态变量或使用任何条件并设置文本值所需的样式。在这里,我使用了 styleToggle 并完成了它。


如您所见


<Text style={styleToggle? styles.bodyText:styles.bodyTextAft} numberOfLines={5}>

决定要使用的样式。


您可以在下面查看完整代码。


 const [styleToggle,setStyleToggle]=useState(true);


  const onPressTitle = () => {

    if (titleText == 'First Text' && bodyText == 'Second Text!') {


      setTitleText('First Text After');

      setBodyText('Second Text After!');

    }

    else if (titleText == 'First Text After' && bodyText == 'Second Text After!') {

      setTitleText('Second Text');

      setBodyText('Second Text!');

    }


    setStyleToggle(!styleToggle);

  }


  return (

    <View style={styles.container}>

        <Text style={styles.baseText} onPress={this._onPressButton}>

        {/* <TouchableHighlight {...touchProps}> */}

        <Text style={styleToggle? styles.titleText:styles.titleTextAft}>

            {titleText}{'\n'}{'\n'}</Text>

         {/* </TouchableHighlight> */}

          <Text style={styleToggle? styles.bodyText:styles.bodyTextAft} numberOfLines={5}>

            {bodyText}{'\n'}{'\n'}

          </Text>

        </Text>

      <View >

        <TouchableOpacity

          onPress={onPressTitle}>

          <Text style={styles.pressMe}>Press Me!</Text>

        </TouchableOpacity>

      </View>

    </View>

  );


查看完整回答
反对 回复 2023-05-25
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号