我正在尝试使用“active”类来设置我的网络项目当前活动选项卡的样式。为了定位我正在使用的选项卡元素
onMount(() => {
const links = document.querySelectorAll(".topnav a");
});
Run Code Online (Sandbox Code Playgroud)
然后我使用反应式语句来设计适当的元素,如下所示
$: {
links.forEach((link) => {
if (link.getAttribute("id") === $page.url.pathname) {
link.classList.add("active");
} else {
link.classList.remove("active");
}
});
}
Run Code Online (Sandbox Code Playgroud)
但是,我无法将links变量共享给我的反应语句。我还尝试document.querySelectorAll放入我的反应语句(根本不使用 onMount),它完美地工作,直到我重新加载页面。对此的传统方法是什么?
我正在尝试将文本输入推入数组中。当我修改输入文本并推送它时,数组会在推送之前被擦除(不会在 console.log 中显示我之前的推送)。我缺少什么?
const [text, onChangeText] = React.useState('Useless Text');
let chatHistory = [];
function logHistory(text) {
chatHistory.push(text);
console.log(chatHistory);
}
return (
<View style={styles.container}>
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<TextInput
style={styles.input}
onChangeText={onChangeText}
value={text}
/>
<Button title={'Ask the computer...'} onPress={() => logHistory(text)} />
</View>
</View>
);
Run Code Online (Sandbox Code Playgroud)