Javascript 反应-向儿童传递道具

Javascript 反应-向儿童传递道具,javascript,reactjs,Javascript,Reactjs,我想做一个条件语句。然而,我很难通过道具 const App = ({children, onConfirm}) => { {modalActive && renderModal(() => setModalActive(false), () => { onConfirmAbort(); setModalActive(false); })} if (this.props.Enabled("True")) { return (

我想做一个条件语句。然而,我很难通过道具

const App = ({children, onConfirm}) => {
{modalActive && renderModal(() => setModalActive(false), () => { onConfirmAbort(); setModalActive(false); })}

 if (this.props.Enabled("True")) {
    return (
        <h1>hello world </h1>
    );
  }
  return (
    <div>
        {children}
    </div>
  );
};
我不知道当它是一个有子函数时如何传递道具。

您需要删除“this”并将“Enabled”添加到函数的参数部分。背后的原因是您没有使用基于类的组件。在这种情况下,没有必要使用“this”。您已经以相同的方式声明了“children”和“onConfirm”

const App = ({children, onConfirm, Enabled}) => {
{modalActive && renderModal(() => setModalActive(false), () => { onConfirmAbort(); setModalActive(false); })}

 if (Enabled("True")) {
    return (
        <h1>hello world </h1>
    );
}
return (
    <div>
        {children}
    </div>
);

};
const-App=({children,onConfirm,Enabled})=>{
{modalActive&&renderModal(()=>setModalActive(false),()=>{onConfirmAbort();setModalActive(false);})}
如果(启用(“真”)){
返回(
你好,世界
);
}
返回(
{儿童}
);
};
您需要删除“this”并将“Enabled”添加到函数的参数部分。背后的原因是您没有使用基于类的组件。在这种情况下,没有必要使用“this”。您已经以相同的方式声明了“children”和“onConfirm”

const App = ({children, onConfirm, Enabled}) => {
{modalActive && renderModal(() => setModalActive(false), () => { onConfirmAbort(); setModalActive(false); })}

 if (Enabled("True")) {
    return (
        <h1>hello world </h1>
    );
}
return (
    <div>
        {children}
    </div>
);

};
const-App=({children,onConfirm,Enabled})=>{
{modalActive&&renderModal(()=>setModalActive(false),()=>{onConfirmAbort();setModalActive(false);})}
如果(启用(“真”)){
返回(
你好,世界
);
}
返回(
{儿童}
);
};

通过这样定义您的
应用程序
组件

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)
您正在解构将传递给
组件的参数
,与往常一样,此参数命名为
props
。通过这样做,您不再能够访问名为
props
属性
,而只能访问在本例中已分解为props的属性

另一方面,当您将组件定义为
功能组件时,您不会使用
this
关键字访问属性

因此,如果您想访问
Enable
属性,您必须通过将其添加到从参数props获取的属性列表中,从而从props获取if,props的结构如下所示

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)
或者通过传递避免完全破坏并访问
道具
,而不是像这样

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)
通过使用道具,您必须在传递给
组件的每个属性前面加上
props
前缀才能访问它。像这样

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)

通过这样定义你的
App
组件

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)
您正在解构将传递给
组件的参数
,与往常一样,此参数命名为
props
。通过这样做,您不再能够访问名为
props
属性
,而只能访问在本例中已分解为props的属性

另一方面,当您将组件定义为
功能组件时,您不会使用
this
关键字访问属性

因此,如果您想访问
Enable
属性,您必须通过将其添加到从参数props获取的属性列表中,从而从props获取if,props的结构如下所示

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)
或者通过传递避免完全破坏并访问
道具
,而不是像这样

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)
通过使用道具,您必须在传递给
组件的每个属性前面加上
props
前缀才能访问它。像这样

const App = ({children, onConfirm}) => {
    // ...
}
const App = ({children, onConfirm, Enabled}) => ...
const App = (props) => ...
props.children, props.onConfirm, props.Enabled(...)

你使用的是功能组件,所以你不能使用“this”,而是传播道具,如…道具,然后使用道具。启用你使用的是功能组件,所以你不能使用“this”,而是传播道具,如…道具,然后使用道具。启用