将数组作为 prop 传递给 React.js 中的组件
Pass an Array as prop to a component in React.js
要将数组作为 prop 传递给 React 中的组件,请将数组包裹在花括号中,例如<Books arr={['A', 'B', 'C']} />
. 子组件可以在数组上执行自定义逻辑或使用该map()
方法来呈现数组的元素。
应用程序.js
function Books({arr}) { console.log(arr); // 👉️ ['A', 'B', 'C', 'D'] return ( <div> {arr.map(title => { return <div key={title}>{title}</div>; })} </div> ); } export default function App() { const arr = ['A', 'B', 'C', 'D']; return ( <div> <Books arr={arr} /> </div> ); }
当将字符串以外的任何 prop 传递给 React 组件时,我们必须将值用大括号括起来。
花括号标记表达式的开始。
我们传递给
Books
组件的 prop 被称为,因此组件可以解构 prop 并在其上执行逻辑或使用该方法来渲染其元素。 arr
Array.map()
您还可以将数组属性传递给内联组件。
应用程序.js
function Books({arr}) { console.log(arr); // 👉️ ['A', 'B', 'C', 'D'] return ( <div> {arr.map(title => { return <div key={title}>{title}</div>; })} </div> ); } export default function App() { return ( <div> <Books arr={['A', 'B', 'C', 'D']} /> </div> ); }
上面的代码片段实现了与前一个相同的结果。
如果您遍历数组,请确保为key
每个元素设置一个唯一的属性。
这是必要的,因为它有助于 React 跟踪哪些数组元素在重新渲染之间发生了变化,并且 React 能够通过仅更新发生变化的数组元素来使我们的应用程序更快。
您还可以将单个数组元素作为 props 传递给组件。
应用程序.js
function Books({first, second}) { console.log(first); // 👉️ 'A' console.log(second); // 👉️ 'B' return ( <div> {first} {second} </div> ); } export default function App() { const arr = ['A', 'B', 'C', 'D']; return ( <div> <Books first={arr[0]} second={arr[1]} /> </div> ); }
通过访问特定索引处的数组元素,我们能够将单个数组元素作为 props 传递给组件。