【发布时间】:2019-09-15 12:06:05
【问题描述】:
我正在尝试创建一个组件,其中将通过几个父道具传递十几个嵌套值。
在这个组件中,我有两个按钮,每个按钮都有一个 onClick 事件,当按下时,我试图拥有它,以便将嵌套道具的值传递给一个函数并在视图中进行更改和更新。
对于这个例子,我只会传递一些ChildProp,这里是一个例子prop:
List.defaultProps = {
someChildProp: {
field1: 1.4,
field2: 1.2,
field3: 1.6,
field4: 1.1
}
};
当您按下任一按钮时:
<a className="unit-selected" onClick={handleUnitClick('unit1')}>
Unit 1
</a>
<span>/</span>
<a onClick={handleUnitClick('unit2')}>
Unit 2
</a>
这将运行handleUnitClick,它将检查传递的值,然后运行我设置所有道具的函数。
const handeUnitClick = (type) => {
if (type === 'unit1') {
convertProps();
}
}
const convertProps = () => {
Object.keys(someChildProp).map((item, index) => {
// set new value with convertUnit(number)
// concat to new object?
// set state again?
})
}
const convertUnit = (number) => {
return number + 5;
}
因此,在 .map 中设置新状态看起来像这样。
someChildProp: {
key[index]: convertUnit(value)
}
我不确定该怎么做是如何映射每个、更改值、设置整个ChildProp 的状态?
所以我被困在这一点上:
const convertProps = () => {
Object.keys(someChildProp).map((item, index) => {
// set new value with convertUnit(number)
// concat to new object?
// set state again?
})
}
我该怎么做?
【问题讨论】:
标签: javascript reactjs