【发布时间】:2018-05-16 09:26:58
【问题描述】:
我正在使用 reactjs 和 ant design 制作验证码。它的代码正在运行,只是有一个我无法解决的警告。
看来以后会出问题。
谢谢,
希望你能理解我。
警告:遇到两个孩子使用相同的密钥,
u。钥匙应该 是唯一的,以便组件在更新期间保持其身份。 非唯一键可能会导致子项重复和/或省略 — 该行为不受支持,可能会在未来版本中更改。
let numbers = [];
function NumberList() {
var rand = Math.random()
.toString(36)
.substr(2, 4);
var a = rand.split("").join(",");
var array = a.split(",");
numbers = array;
const listItems = numbers.map(number => (
<div key={number.toString()}>{number}</div>
));
return <div className="randomChars">{listItems}</div>;
}
// Captcha.
class Captcha extends Component {
componentDidMount() {
this.props.onRef(this);
}
componentWillUnmount() {
this.props.onRef(undefined);
}
fetchCaptcha() {
let concatNumbers = numbers.join("");
return concatNumbers;
}
render() {
return (
<div className="Captcha" ref="childref">
<NumberList />
</div>
);
}
【问题讨论】: