【发布时间】:2021-05-15 07:40:09
【问题描述】:
这是我为描述我的问题而编写的代码,
import React, { useState } from "react";
import { StyleSheet, View, Text, Button } from "react-native";
function HookProblem() {
const [darkMode, setDarkMode] = useState(false);
return (
<View style={{ backgroundColor: darkMode ? "black" : "gray", flex: 1 }}>
<Text style={{ color: darkMode ? "white" : "black" }}>
{darkMode ? "That's Dark Mode" : "That's Light Mode"}
</Text>
<Button title="Dark Mode" onPress={() => setDarkMode(true)} />
<Button title="Light Mode" onPress={() => setDarkMode(false)} />
</View>
);
}
const styles = StyleSheet.create({
con: {
backgroundColor: "yellow",
flex: 1,
},
});
export default HookProblem;
到目前为止没有问题,一切都很好,但是当我想制作 styleSheet 而不是样式内联对象时出现问题,
这里
import React, { useState } from "react";
import { StyleSheet, View, Text, Button } from "react-native";
function HookProblem() {
const [darkMode, setDarkMode] = useState(false);
return (
<View style={styles.con}>
<Text style={styles.text}>
{darkMode ? "That's Dark Mode" : "That's Light Mode"}
</Text>
<Button title="Dark Mode" onPress={() => setDarkMode(true)} />
<Button title="Light Mode" onPress={() => setDarkMode(false)} />
</View>
);
}
const styles = StyleSheet.create({
con: {
backgroundColor: darkMode ? "black" : "gray",
flex: 1,
},
text: {
color: darkMode ? "white" : "black",
},
});
export default HookProblem;
ReferenceError: darkMode is not defined,如果可能的话,我想解决这个问题,我想做一些事情,比如在函数体之外传递 darkMode 布尔值。这可能吗?
【问题讨论】:
标签: javascript reactjs react-native react-hooks use-state