我正在尝试使用React.js中的按钮在页面上切换内容,如果按下按钮,则希望内容消失。如果再次按下它,我希望内容再次出现。我尝试了所有可以想到的方法,但似乎没有任何效果。最初,我尝试使用三元语句来查看是否可以切换,但这只会中断我的应用程序。有人可以告诉我如何改善项目的这一部分吗?这是我所拥有的:
//App.js
import React, { Component } from 'react';
class App extends Component {
constructor(props) {
super(props);
this.state = {
isToggle: false
};
}
handleClick(e) {
this.setState({ !isToggle ? isToggle: true : isToggle: false });
}
render() {
const style = {
display: none
};
return (
<div>
<h1 className="text-xs-center">List of items:</h1>
<button onClick={this.handleClick.bind(this)} className="btn btn-primary">Toggle</button>
<div className="container" style={!isToggle ? style.display = none : style.display = block}>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</div>
</div>
);
}
} …Run Code Online (Sandbox Code Playgroud) 我使用node.js和express.js来构建一个非常简单的应用程序.我想阅读目录的内容,当我浏览时localhost:3000/names,应用程序将打印一个内容数组到网页,除了我选择不这样做的内容.这是我的代码:
const express = require('express');
const fs = require('fs');
const app = express();
const port = 3000;
let result = [];
app.get('/names', (req, res) => {
const printNames = (err, file) => {
file.forEach(e => {
if (e !== 'john') {
result.push(e);
}
});
res.send(result);
};
fs.readdir('./home', printNames);
});
app.listen(port, () => {
console.log('Listening on port 3000');
});
Run Code Online (Sandbox Code Playgroud)
应用程序以我想要的方式工作,但是有一个小错误.每次刷新页面时,应用程序都会将相同的数组内容添加到现有数组中.每次刷新我的阵列都会变大.我希望应用程序将数组发送到页面,并在刷新时保持不变.我没有丝毫想到为什么我的应用程序以这种方式运行.有人可以向我解释为什么它表现得像这样,解决这个问题的正确步骤是什么?