我已经提供了不同的密钥。为什么它会警告我? 这是我的代码 https://codesandbox.io/s/0xvqw6159n
MapsInitializer.initialize(this);
mMapView = (MapView) mView.findViewById(R.id.map);
if(mMapView !=null){
mMapView.onCreate(savedInstanceState);
mMapView.getMapAsync(this);
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng Home = new LatLng(10.263392,123.82489109999999);
mGoogleMap = googleMap;
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
googleMap.addMarker(new MarkerOptions().position(Home).title("my home"));
googleMap.animateCamera(CameraUpdateFactory.newLatLng(Home));
}
public void onResume() {
super.onResume();
mapView.onResume();
}
public void onPause() {
super.onPause();
mapView.onPause();
}
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState);
}
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
答案 0 :(得分:1)
首先,您将key
设置为错误的行。 Fragment
不能呈现为HTML,但是需要key
道具。
<Fragment key={index}>
<TableRow>
第二,由于index + i
不能保证唯一性,因此我建议您为嵌套属性添加唯一的ID。
答案 1 :(得分:0)
index + i
并非对于index
和i
的每个值都是唯一的。
假设fetchData
和row
的长度均为2,因此index
和i
的长度都从0到1。
key = index + i
index i key
0 0 0
0 1 1
1 0 1
1 1 2
这两次产生1,因此键不是唯一的。转换为字符串会有所帮助:
key = String( index ) + String( i )
index i key
0 0 "00"
0 1 "01"
1 0 "10"
1 1 "11"
或者您可以乘以row.length
以产生唯一的整数。
key = ( index * row.length ) + i
index i key
0 0 0
0 1 1
1 0 2
1 1 3
答案 2 :(得分:0)
您的title
或display text
是否唯一?如果是这样,您可以将它们用作主要道具。
<TableBody>
{fetchData.map(([title, row], index) => {
return (
<Fragment>
<TableRow key={title}>
<TableCell colSpan="2">{title}</TableCell>
</TableRow>
{row.map(({ displaytext, value }, i) => (
<TableRow key={displaytext}>
<TableCell>{displaytext}</TableCell>
<TableCell>{value}</TableCell>
</TableRow>
))}
</Fragment>
);
})}
</TableBody>