我正在用ReactJS制作我的第一个个人网站,通常是一个后端的家伙。我刚刚开始与软件系统一起工作,并受到领域驱动设计的启发。请原谅我的问题的基本性质。
我之所以被React吸引,是因为它使用 prop 以一种解耦的方式处理数据。
当我建立这个网站时,我注意到我的代码变得非常混乱,许多网址隐藏在html标签中,我担心有一天我可能需要改变它们。
我想将其解耦,并将URL从JSON文件传递到Prop中。
实现此目标的最佳做法是什么
下面是我的代码示例。
<div className="tp-minimal__design-thumb" style={{ **backgroundImage: `url(assets/img/banner/hero-banner.JPG)`,** backgroundPosition: 'center', backgroundRepeat: 'no-repeat', backgroundSize: 'cover' }}></div>
我怎样才能让它接受来自这样一个层次JSON结构的数据呢?
const imageData = {
"home": {
HeroAreaHome: "url(assets/img/banner/hero-banner.JPG)"
}
}``
我想把网址传给这个(伪代码):
import imageData from "../../data/imageData"
<div className="tp-minimal__design-thumb" style={{ **backgroundImage: `{imageData.home.HeroAreaHome}** backgroundPosition: 'center', backgroundRepeat: 'no-repeat', backgroundSize: 'cover' }}></div>
1条答案
按热度按时间c3frrgcw1#
你应该能够使用模板常量将变量传递给jsx,类似这样的操作应该对你有用:
此外,该组件没有使用react props来传递
imageData
,因为数据是通过常规的导出和导入来传递的。要使用react props,当组件在父组件中示例化时,您需要向下传递变量。父组件:
子组件:
如果背景图像不变,那么导出/导入imageData是一个很好的模式,可以用来代替使用props。上面的代码只是使用react props的一个例子。