我正在使用swiftype reackJS演示应用程序作为起点的搜索引擎上。它使用search-ui npm。
我得到:无法读取未定义的属性“原始”
export default ({ result }) => (
<img
id="offre_logo_3"
alt=""
style={{
position: "relative",
zIndex: 1002,
display: "block",
top: "88px",
margin: "0 auto",
height: "30px",
width: "30px"
}}
src={"https://www.cliiic.com/images/" + result.icone.raw}
/>
);
根据我对App.js文件的理解,可以正确设置result.icone.raw,如下所示:
result_fields: {
id: { raw: {} },
couleur: { raw: {} },
icone: { raw: {} },
notice: { raw: {} },
short_title: {
snippet: {
size: 50,
fallback: true
}
},
name: {
snippet: {
size: 50,
fallback: true
}
},
city: { raw: {} },
region: { raw: {} },
zip: { raw: {} },
type: { raw: {} },
accepted_clic: { raw: {} },
alltxt: { raw: {} },
price: { raw: {} },
quantity: { raw: {} },
start_date: { raw: {} },
end_date: { raw: {} },
newmembersonly: { raw: {} },
main_category: { raw: {} },
secondary_category: { raw: {} }
}
测试应用程序发布在这里https://5kyd5.csb.app/offre.php?q=test&size=n_20_n(由于错误,加载空白页面。打开控制台以查看发生了什么)
可以在这里找到源代码:https : //codesandbox.io/s/video-games-tutorial-with-images-5kyd5
我可以在swiftype模式表中看到icone col,并且按预期填充了它。
任何帮助将不胜感激。
我在控制台中发布了结果对象,并且在尝试访问对象值的过程中一切似乎都正常。
这是指向API https://jsonblob.com/d081e6ed-186c-11ea-a766-135bd1c509b2返回的JSON对象的链接
================编辑:
我想我可能已经发现问题了……通过查看API返回的JSON,我注意到icone var不在第一个结果中!
https://jsonblob.com/d081e6ed-186c-11ea-a766-135bd1c509b2
因此,这意味着该产品被删除,并且不与弹性搜索系统同步。如果var不存在,是否可以避免空白页面?
这是工作沙箱的链接https://codesandbox.io/s/video-games-tutorial-with-images-6zh7i
如果您希望所有内容都同步,则可以在返回之前创建const字段,如果这些键是 undefined
例如 const {icone} = result || {}
如果需要,可以对所有键执行此操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句