数据在第一次渲染时以未定义的形式返回

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据在第一次渲染时以未定义的形式返回相关的知识,希望对你有一定的参考价值。

function Story() 
  let  id  = useParams();
  const pin = useSelector(state => state.pins.pin);
  const dispatch = useDispatch();
  const userid = 2
  useEffect(() => 
    dispatch(getPin(id));
  , [dispatch, id]);

  return (
    <div className="container-fluid" >

     <Upvote pin=pin.upvotes userid=userid />

    </div>
  );

function Upvote (pin, userid) 
 ///pin.filter(a => a.id === userid)
return(<div>test<div/>


引脚在第一次渲染时将是未定义的。我尝试在Upvote中执行if语句。不知道这是否是正确的方法

if(pin)
   ///filter

答案

在呈现Upvote之前,将三元运算符放入Story中,就好像pin不存在一样,Upvote不会仅呈现。

此外,当pin未定义时,它也不会破坏您的代码。

以上是关于数据在第一次渲染时以未定义的形式返回的主要内容,如果未能解决你的问题,请参考以下文章

反应路由器 useparams 以未定义的形式返回

Ajax 调用总是以未定义的形式返回并且没有到达后面的代码

使用 azure 事件中心源连接器时以字节形式返回的 Avro 架构

后端一次性返回10w条数据,该如何渲染

第一阶段 11函数

渲染数据方式