我是新来的人,要做出反应并做些还原。这可能是一个非常简单的问题,但我找不到更好的出路。 考虑这样的商店
Watermark
BackEnd提供了一个名为12:10
的Api。发送{
list:[
{uid:'35',...otherInfo},
{uid:'136',...otherInfo},
{uid:'199',...otherInfo},
]
}
,然后接收getInfoByUid
动作
uid
在React组件中。简而言之,此组件仅从父级收到otherInfo
,然后显示function addInfoByUid(uid){
// fetch back-end-api getInfoByUid(uid) then store the res into list
}
uid
如果列表中不包含我提供的otherInfo
,那么我将得到class ComponentA extends React.Component{
render(){
const { list, presentUid } = this.props;
const item = list.find( x=>x.uid === presentUid );
return (
<div>{item.otherInfo}</div>
)
}
}
export default connect(
state => ({list:state.list}),
dispatch => ({addInfoByUid: (uid) => { dispatch(addInfoByUid(uid)) }}),
)(OrderEdit);
不确定,而uid
将导致错误。
我必须将item
写入item.otherInfo
。
我认为这样做会导致代码变得更糟且难以维护,原因如下:
我在想的是在(!item) && (addInfoByUid(uid));
之前调用函数,像这样:
componentA
但是,我认为这是一个糟糕的解决方案。它将导致错误,并且可能无法解决异步问题。
这应该是一个常见问题。任何建议将不胜感激。