假设我被给予
const s = "Old Man's War"
//Each indices represent the beginning and end index of the string
const indices = [
[ 0, 0 ],
[ 5, 5],
[ 11, 11]
]
Run Code Online (Sandbox Code Playgroud)
这些索引代表了我想要强调的内容的开始和结束。所以我想返回类似的东西
<span class="bold">O</span>ld M
<span class="bold">a</span>n's W
<span class="bold">a</span>r
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?似乎无法想出一个像样的算法。
我有一个像下面这样的减少功能:
let el = scopes.reduce ((tot, {actions}) => tot + actions.length, 0);
Run Code Online (Sandbox Code Playgroud)
我试图这样改造它,但似乎它不是正确的方法:
let el = scopes.reduce ((tot, {actions.length: len}) => tot + len, 0);
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者这是不可能的。
我为这个问题准备了一个小演示:
因此,我使用react-router-dom创建单页应用程序,并在两个页面(组件Page1和Page2)之间创建了标准导航。
问题是,每次我在页面之间切换时,都会调用useEffect钩子(使用空数组作为第二个参数)(在演示中,您可以在控制台中看到它)。
我只想为每个组件提取一次数据,然后再使用该数据,无论用户是否在页面之间进行切换。是否有可能在不检查useEffect函数内部某些条件的情况下执行此操作?这让我有些困惑,因为useEffect []应该只为组件运行一次,而不是这种情况。
请我需要关于 react-router-dom 的帮助,我是图书馆的新手,从那以后似乎可以找到任何解决方案。我从 api 调用中得到三个结果,其中我映射数据以在 UI 上呈现它,现在我现在需要的是,如果我单击此列表之一上的一行,我希望它带我到屏幕仅显示我单击的单个内容的详细信息。
import React, { Component } from "react";
export default class User extends Component {
state = { userDetails: "" };
componentDidMount() {
axios.get(`https://urlforapi.com`)
.then(({ data }) => {
this.setState({
userDetails: data
});
});
}
render() {
const { userDetails } = this.state;
return (
<div>
{userDetails
? userDetails.map(info => {
return (
<Link to="/home/userDetails">
<div key={info.id}>
<p>{info.name}</p>
</div>
<div>
<p>{info.age}</p>
</div>
<div>
<p>{info.description}</p>
</div>
</Link>
);
})
: null}
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud) 使用 new 运算符创建了多少字符串。
假设我正在使用 new 运算符创建一个字符串。
String str = new String("Cat")
Run Code Online (Sandbox Code Playgroud)
它会创建 2 个字符串,一个在堆中,另一个在字符串池中?
如果它也创建字符串,string poll那么字符串intern方法的目的是什么?
javascript ×4
reactjs ×3
css ×1
ecmascript-6 ×1
html ×1
java ×1
react-hooks ×1
react-router ×1
string ×1