因此,Java WeakHashMap
允许创建一个映射,如果其键变弱,则删除其条目.但是,当地图中的值变弱时,如何创建一个其条目被删除的Map ?我想使用地图的原因是全局哈希表,它根据ID来跟踪对象.
ID ---> Object Address
Key ---> Value
Run Code Online (Sandbox Code Playgroud)
(ID
文字字符串在哪里)
我希望在对象地址变弱时删除键值对,而不是指向它们的字符串.有人对此有何看法?
我想在本页的基本threejs示例中为threejs相机启用dat-gui控件:
https://github.com/mrdoob/three.js/
var camera, scene, renderer;
var geometry, material, mesh;
init();
animate();
function init() {
camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
camera.position.z = 1000;
scene = new THREE.Scene();
geometry = new THREE.CubeGeometry( 200, 200, 200 );
material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
renderer = new THREE.CanvasRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
}
function animate() {
// note: three.js …
Run Code Online (Sandbox Code Playgroud) 我有以下反应功能组件:
const EventRow = props => {
const { key, date, name, ticketLink, location } = props;
return (
<tr key={key}>
<td> {date} </td>
<td className="events-italic">
{
ticketLink.length > 0 ? <a href={ticketLink}>{name}</a> : {name}
}
</td>
<td> {location} </td>
</tr>
);
};
Run Code Online (Sandbox Code Playgroud)
如果存在 TicketLink 属性,这应该渲染一个带有超链接的名称,否则它应该只渲染该名称。
如果我按原样使用代码,则会收到错误:
Objects are not valid as a React child (found: object with keys {name}). If you meant to render a collection of children, use an array instead.
这显然是因为,正如{name}
被两组大括号包围的那样,React 认为它是一个对象而不是字符串。
我知道我可以分解代码并使用 if / …