【发布时间】:2020-02-12 19:07:39
【问题描述】:
您好,对编码和 React 很陌生(大约 3 周),所以如果我以一种奇怪的方式问这个问题,请告诉我,我会尽力澄清。
我正在研究这两个组件,我想将从 COMPONENT1 动态生成的数据传递给 COMPONENT2(参见下面的代码)。
在 COMPONENT1 中,我使用地图来动态显示按钮数组。然后使用 JSX 根据定义的对象数组的数据动态添加文本。这很好用,但我想做的是获取一些动态呈现的数据并将其传递给 COMPONENT2,即每个按钮都可以将特定数据向下发送到 COMPONENT2。
特别是,我希望能够根据我按下的按钮动态地将 obj.text 发送到 COMPONENT2。
组件 1
export default function Button(props){
const arrObj = [
{ id: '0', var: 'varString1', text: 'textString1'},
{ id: '1', var: 'varString2', text: 'textString2'}
]
return (
<div>
{arrObj.map( (item) =>
<div key={obj.id}>
<Icon> {`${obj.var}`}<span> {`${obj.text`}</span></Icon>
<Button>{'add something'}</Button>
</div>
}
组件 2
const Style = (props) => {
return(
<div>
<h1>{`Please ${props.ojb.text}`}</h1>
<Button> {`Please ${props.ojb.text}`} </Button>
</div>
)
我所期待的快速示例:
COMPONET1:
<Icon>{refresh}<span> Refresh the page </span>
<Button onClick=(send "Refresh the page to COMPONENT2")></Button>
COMPONET2:
<h1> Please Refresh the Page </h1>
<Button> Please Refresh the Page </Button>
注意:如果有帮助,我将使用 Material-UI 来设置这些组件的样式。
再次请让我知道是否有任何令人困惑的地方,以及是否有什么我可以做的澄清。此外,在状态管理方面,我宁愿不使用 redux,但我愿意就这方面的任何内容提供反馈。
【问题讨论】:
-
您能否提供更多详细信息,关于您想要实现的什么?
-
嘿@FranBran 抱歉,我试图将从 COMPONENT1 动态添加到 COMPONENT2 的数据传递给我,但我用这个解决了这个问题:ozmoroz.com/2018/07/pass-value-to-onclick-react 原来我可以使用 ev.currentTarget 获得值.value 从 COMPONENT1 中的按钮获取 obj.txt,将其传递给父级,然后将其作为道具传递给 COMPONENT2
标签: reactjs typescript dynamic