interface modal {
name: string;
check: boolean;
}
type Key = "name" | "check";
const obj: modal = fn();
function fn():any {
return {
name: "hello"
}
}
class Modal {
name: string;
check: boolean;
constructor() {
this.name = "";
this.check = false;
Object.keys(obj).forEach((key: string) => {
this[key as keyof modal] = obj[key as keyof modal];
})
}
}
Run Code Online (Sandbox Code Playgroud)
我在此处收到错误[key as keyof modal]
错误消息:输入“字符串|” boolean' 不能分配给类型 'never'。类型“string”不可分配给类型“never”。

我有多个具有相同类的元素。当我在下面使用此方法时,它不起作用。
$(".tab-content")[index].addClass("active-content");
Run Code Online (Sandbox Code Playgroud)
我的代码:
HTML:
<div class="container">
<div class="content">
<ul class="tag">
<li>
<a href="javascript:;">
Lodon
</a>
</li>
<li>
<a href="javascript:;">
Paris
</a>
</li>
<li>
<a href="javascript:;">
Tokyo
</a>
</li>
</ul>
<div class="tab-content">
<h3>Lodon</h3>
<p>London is the capital of England</p>
</div>
<div class="tab-content">
<h3>Paris</h3>
<p>Paris is the capital of France</p>
</div>
<div class="tab-content">
<h3>Tokyo</h3>
<p>Tokyo is the capital of Japan</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和JS
$(".tag li").click(function () {
var index = $(this).index();
$(".tab-content")[index].addClass("active-content");
});
Run Code Online (Sandbox Code Playgroud)
import React, { useState, useEffect, useRef } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
function App() {
const [minus, setMinus] = useState(1);
const ref = useRef(null);
const handleClick = () => {
setMinus(minus - 1);
};
console.log("-->", ref.current, minus);
useEffect(() => {
console.log(`denp[minus]>`, ref.current);
}, [minus]);
return (
<div className="App">
{(minus >= 0 || minus <= -5) && <h1 ref={ref}>num: {minus}</h1>}
<button onClick={handleClick}>minus</button>
</div>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
在官方文档中,它说“每当该节点发生变化时,React 都会将其 .current 属性设置为相应的 DOM 节点。”
所以在 React 渲染 DOM …