import "./styles.css";
function Example(props) {
return <h2>{props.abc}</h2>;
}
export default function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<Example abc={123} />
</div>
);
}
每个传递给React组件的属性都作为函数中的属性传递。
例如:Example是一个React组件,我正在传递abc属性,该属性将在(props)中访问。
解释:
定义组件最简单的方法是编写一个JavaScript函数:
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
这个函数是一个有效的React组件,因为它接受一个单一的“props”(代表属性)对象参数和数据,并返回一个React元素。我们称这样的组件为“函数组件”,因为它们实际上是JavaScript函数。
const element = <Example abc="Any value" />;
当React看到表示用户定义组件的元素时,它会将JSX属性和子元素作为单个对象传递给该组件。我们称这个对象为“props”。
JSX属性:
这些属性等同于HTML元素的相同属性,例如样式、ID、类以及其他用户定义的属性,例如data-等,例如:(div元素有两个属性,即id和example,它们的值分别为123和abc)
React如何工作:
它将获取每个JSX属性,并以JSON格式将其传递给您的函数,因此:
,在示例函数中可以通过props.App_postsData进行访问。
function Example(props){
const value = props.App_postsData;
}
或者简单地说:
function Example({App_postsData}){}
const JSON = { example: 123 }
const example = JSON.example;
//变量const example的值为123
const JSON = { example: 123 }
const { example } = JSON;
//变量const example的值为123
很明显,您没有解构和传递帖子数组,而是直接使用props。
应该是:
App.jsx
function App({App_postsData}) {/*...*/}
Profile.jsx
function Profile ({Profile_postsData}) {/*...*/}
MyPosts.jsx
function Post ({Post_postsData}) {/*...*/}
App_postData.App_postData。 - kengrufunction App(App_postsData)=>function App({App_postsData})- James