簡體   English   中英

如何打印開關的開/關狀態?

[英]How can I print a switch's ON/OFF state?

如本例所示: https : //reactnative.dev/docs/switch.html我試圖以如下方式打印 Switch 的 ON/OFF 狀態:

import React, { useState } from "react";
import { View, Switch, StyleSheet, Text } from "react-native";

const App = () => {
  const [isEnabled, setIsEnabled] = useState(false);
  const toggleSwitch = () => setIsEnabled(previousState => !previousState);

  return (
    <View style={styles.container}>
      <Switch
        trackColor={{ false: "#767577", true: "#81b0ff" }}
        thumbColor={isEnabled ? "#f5dd4b" : "#f4f3f4"}
        ios_backgroundColor="#3e3e3e"
        onValueChange={toggleSwitch}
        value={isEnabled}
      />
      <Text> Switch state is: {isEnabled} </Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: "center",
    justifyContent: "center"
  }
});

export default App;

但是,它不打印{isEnabled}值。

您用於切換狀態的代碼看起來不錯 - 我認為這個問題更微妙。 布爾值不會在 jsx 中呈現 - 請參閱參考: https ://reactjs.org/docs/jsx-in-depth.html#booleans-null-and-undefined-are-ignored

您可以嘗試在呈現之前將isEnabled轉換為字符串嗎?

你的錯誤就在這里。 setIsEnabled(previousState => !previousState);

它應該是setIsEnabled(!previousState)

用於設置狀態的方法只是將值作為參數,而不是函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM