React通过map渲染列表时如何传递非数组内的公共参数?
问题解决方法
你这段代码的核心问题是**map方法的箭头函数语法错误**,导致循环内部无法正确访问外部的isEditAllowed变量。
原代码里的units.map(unit) => (是错误写法,正确的箭头函数语法应该把参数用括号包裹,写成units.map((unit) => (。
修正后的完整代码片段如下:
export default function UnitList({units, isEditAllowed}){ return ( <div> {units.map((unit) => ( <div key={unit.id}> <UnitEditButton id={unit.id} isEditAllowed={isEditAllowed} /> </div> ))} </div> ) }
如果修正语法后还是无法获取值,再检查两个点:
- 确认父组件调用
UnitList时,确实传递了isEditAllowed这个props,比如<UnitList units={yourUnitsData} isEditAllowed={true} /> - 检查
UnitEditButton组件内部是否正确接收了isEditAllowedprops,比如组件定义里是否写了export default function UnitEditButton({id, isEditAllowed}){ ... }
内容的提问来源于stack exchange,提问作者Paul Sturm
相关产品推荐
相关产品推荐

