我刚刚开始学习 React,我正在看一个关于状态和钩子的教程。它只是处理每 1000 毫秒更新一次时间(或者我认为是这样)。
import React from "react";
let count = 0;
function App() {
const now = new Date().toLocaleTimeString();
let [time, setTime] = React.useState(now);
function updateTime(){
const newTime = new Date().toLocaleTimeString();
setTime(newTime);
count++;
console.log(count);
console.log(new Date().getMilliseconds());
}
setInterval(updateTime, 1000);
return (
<div className="container">
<h1>{time}</h1>
<button onClick = {updateTime}>time</button>
</div>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
本教程的目的只是一个关于如何更新时间的简单示例,但我注意到它每 1000 毫秒更新多次(突发)。我怀疑每次对钩子进行更改时都会呈现新组件,但旧组件仍在更新并产生更多组件,导致每 1000 毫秒的调用呈指数增长。
我很好奇这里发生了什么?我将如何去做让我们说有一个每 1000 毫秒更新一次的简单计数器?setTime(count)
显然不起作用
无法诊断左上角浮动像素的原因div
.它只在我添加一个时出现border-radius
.
仔细观察每个角落,您可以看到在应用半径之前应用线条时的一些碎片.也许需要一种不同的技术.
.contest-types {
border: 2px solid #BCCED4;
border-radius: 10px;
color: #1B2437;
padding: 10px;
margin: 20px;
width: 500px;
height: 200px;
background-color: #F9FDFF;
position: relative;
}
.contest-types:before {
content: '';
width: 2px;
height: 2px;
background-color: #5697fc;
position: absolute;
left: -2px;
top: -2px;
display: none;
}
.contest-types:after {
content: '';
position: absolute;
display: block;
background-color: #5697fc;
}
.contest-types:hover {
border: 2px solid #5697FC;
background-color: #FFFFFF;
animation: border 0.5s ease-out 1;
}
.contest-types:hover:after {
border-radius: 10px;
animation: border-after …
Run Code Online (Sandbox Code Playgroud)如何在不使用for
循环或任何数组方法的情况下检查数组中是否存在元素,如果map
,reduce
?
let numList= [1,2,3,6,9,2,-8,20];
我想检查9和30,如果它存在与否,不使用for
循环或任何数组方法
我正在处理一个表单,并且正在使用react-bootstrap。我对所有字段进行了验证,除了类型输入之外,它按预期工作select
。这是我的表格:
<Form
className="order-details-form"
noValidate
validated={validated}
onSubmit={handleProceed}
>
<div className="row phone-number-wrapper">
<img src={code_arrow} />
<div className="overlay" />
<Form.Group
className="country-code-wrapper"
onChange={(e) => countryFlagHandler(e)}
>
{imgLink && (
<img
src={`${imgLink}`}
alt="country-flag"
id="img"
className="flag-img"
/>
)}
<Form.Control
id="select"
as="select"
type="select"
name="country_code"
onChange={setFormValue}
value={form.country_code}
>
<>
<option data-countrycode="">Select Code</option>
{countryCodes}
</>
</Form.Control>
</Form.Group>
<Form.Group className="col-md-6">
<Form.Label>Email</Form.Label>
<Form.Control
type="email"
name="email"
onChange={setFormValue}
placeholder="Add Email"
value={oldCustomer ? oldCustomer.email : form.email}
/>
</Form.Group>
</div>
<div className="row">
<Form.Group className="col-md-6">
<Form.Label>
First Name<span className="req-tag">*</span>
</Form.Label>
<Form.Control
required
type="text"
name="first_name" …
Run Code Online (Sandbox Code Playgroud) 我试图让 react datepicker 的日期选择弹出框从材质 UI 菜单项打开。
我已将菜单项设为 react datepicker 输入字段。问题是我的输入字段是选择日期弹出框的锚点,弹出框在我的菜单中打开。我希望弹出窗口在菜单上方打开。
react datepicker 文档没有很多关于 popover 位置的信息。知道如何实现这一目标吗?
我的菜单代码的快速概览:
// this icon is the anchor for the menu
<MoreIcon onClick={handleClick} />
<Menu
id="simple-menu"
anchorEl={anchorEl}
keepMounted
open={Boolean(anchorEl)}
onClose={handleClose}
>
//this is my Date picker component
<Reschedule handleReschedule={handleReschedule} />
</Menu>
Run Code Online (Sandbox Code Playgroud)
和我的日期选择器组件(使用自定义输入字段作为菜单项):
export const Reschedule = ({ handleReschedule }) => {
// ref to the datePicker to control open/close
const calendar = createRef();
//to Open the date picker
const openDatepicker = (e) => {
calendar.current.setOpen(true); …
Run Code Online (Sandbox Code Playgroud) 我想将字体/文本更改为与默认蓝色不同的颜色。我用不同的设置尝试了这段代码,但颜色保持蓝色。class .text-white 不起作用,字体颜色也不起作用。背景颜色有效,但不适用于文本请帮助。谢谢。
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<div class="container-fluid">
<div class="row">
<div class="col">
<div id="faq" role="tablist" aria-multiselectable="true">
<div class="card">
<div class="card-header text-white" rode="tab" id="XX1" style="background-color:PINK; color: white; font color: yellow !important">
<h4 ass="card-title text-white">
<a data-toggle="collapse" data-parent="#faq" aria-expanded="true" href="#A11" aria-controls="XX2">
change my text color
</a>
</h4>
</div>
<div id="A11" class="collapse show" role="tabcard" aria-labelledby="questionOne">
<div class="card-body">
answer 11
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有一页很长的内容。如果我想创建一个搜索栏,以便当用户搜索单个页面上某处存在的内容时,它将它们重定向到页面的该部分(就像它转到页面的中间或底部)。这是否需要像 PHP 这样的任何后端,或者我可以只用 HTML 来做到这一点?
我正在尝试处理一个表头中应该有 2 行的表。第一个标题中的每个单元格都应该在第二行(在 header 中)有子单元格。到目前为止,我的设计并未清楚地显示每列的数据。我需要为每列绘制左边框。我不知道该怎么做。
这是我的代码(CodeSandBox)
const useStyles = makeStyles({
table: {
minWidth: 650
}
});
<TableContainer component={Paper}>
<Table className={classes.table} aria-label="simple table">
<TableHead>
<TableRow>
<TableCell align="center" colSpan={5}>
MRF
</TableCell>
<TableCell align="center" colSpan={1}>
AD
</TableCell>
{/* <TableCell align="center" colSpan={4}>Incinerator</TableCell>
<TableCell align="center" colSpan={4}>Landfill</TableCell>
<TableCell align="center" colSpan={4}>Market</TableCell> */}
</TableRow>
<TableRow>
<TableCell>Paper</TableCell>
<TableCell align="right">Plastic</TableCell>
<TableCell align="right">Glass</TableCell>
<TableCell align="right">Metals</TableCell>
<TableCell align="right">Metals</TableCell>
<TableCell align="right">Food</TableCell>
</TableRow>
</TableHead>
<TableBody>
<TableRow>
<TableCell colSpan={2}>Data Two Columns</TableCell>
</TableRow>
</TableBody>
</Table>
</TableContainer>
Run Code Online (Sandbox Code Playgroud)
预期结果:结果
reactjs ×4
javascript ×3
html ×2
material-ui ×2
arrays ×1
bootstrap-4 ×1
css ×1
php ×1
popper.js ×1