Fungsi JS yang dilumpuhkan mengganggu operasi biasa kod HTML/JS/Babel
P粉448346289
2023-08-14 15:14:58
<p>Dalam kod di bawah, saya menjangkakan (konsol dilog) bahawa objek <kod>props</code> hanya mengandungi ahli: <code>className</code>, tetapi ia mengandungi ahli: < ; kod>{ className, id, tiket, permintaan }</code>. Walau bagaimanapun, jika saya mengalih keluar parameter <kod>...lain</kod> daripada <strong>Fungsi Tidak Digunakan</strong><kod>NullComp</kod>, maka objek <kod>props< Satu-satunya ahli ;/code> ialah: <code>className</code>, iaitu apa yang saya jangkakan pada asalnya. </p>
<p>Anda boleh mencubanya sendiri dengan menjalankan kod di bawah: </p>
<p>Gunakan: <kod>...lain</kod>: </p>
<p><br /></p>
<pre class="brush:html;toolbar:false;"><!DOCTYPE html>
<html>
<kepala>
<meta charset="UTF-8" />
<title>Ujian</title>
<script src="https://unpkg.com/react/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<badan>
<div id="root"></div>
<script type="text/babel">
fungsi GoalComp({
ID,
tiket,
permintaan,
... prop
}) {
console.log(props);
kembalikan <div>Independent Retriever</div>;
}
</skrip>
<script type="text/babel">
fungsi NullComp({ timeRanges, ...lain-lain }) {
kembali null;
}
</skrip>
<script type="text/babel">
const { useState, useEffect } = React;
const App = () => {
kembali (
<GoalComp
className="mt-10"
id="1"
tiket="IT-ABCD"
request="Peace and Love"
/>
);
};
ReactDOM.render(<App />, document.querySelector("#root"));
</skrip>
</badan>
</html></pre>
<p><br /></p>
<p>不使用:<kod>...lain-lain</kod>:</p>
<p><br /></p>
<pre class="brush:html;toolbar:false;"><!DOCTYPE html>
<html>
<kepala>
<meta charset="UTF-8" />
<title>Ujian</title>
<script src="https://unpkg.com/react/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<badan>
<div id="root"></div>
<script type="text/babel">
fungsi GoalComp({
ID,
tiket,
permintaan,
... prop
}) {
console.log(props);
kembalikan <div>Independent Retriever</div>;
}
</skrip>
<script type="text/babel">
fungsi NullComp({ TimeRanges }) {
kembali null;
}
</skrip>
<script type="text/babel">
const { useState, useEffect } = React;
const App = () => {
kembali (
<GoalComp
className="mt-10"
id="1"
tiket="IT-ABCD"
request="Peace and Love"
/>
);
};
ReactDOM.render(<App />, document.querySelector("#root"));
</skrip>
</badan>
</html></pre>
<p><br /></p>
<p>我在这里漏掉了什么?</p>
<p>谢谢!</p>
Tingkah laku yang anda perhatikan sebenarnya dijangka dan tidak dipengaruhi oleh output fungsi
NullComp
函数中...others
的存在或缺失的影响。需要注意的关键是,在提供的代码中没有使用或调用NullComp
函数,因此它不会影响GoalComp
.Mari kita pecahkan apa yang berlaku:
dalam
GoalComp
函数中,您使用解构来提取props中的id
、ticket
和request
属性。其余的属性(如果有)使用扩展运算符...props
收集到props
objek.Apabila anda berada dalam komponen
App
组件中渲染GoalComp
, anda lulus prop berikut:className="mt-10"
id="1"
ticket="IT-ABCD"
request="Peace and Love"
Dalam kes ini, apabila prop ini diserahkan kepada
GoalComp
时,id
、ticket
和request
属性被提取出来,剩下的className
属性被收集到props
对象中。这就是为什么当您console.log(props)
时,您会看到一个只有一个属性的对象:{ className: "mt-10" }
.NullComp
函数中...others
的存在与否在这个上下文中是无关紧要的。由于没有使用NullComp
,它是否有...others
都不会影响GoalComp
Keluaran fungsi.Apa pun, kod berfungsi seperti yang diharapkan. Walau apa pun, output fungsi
NullComp
函数都不会影响GoalComp
.Semoga ia membantu!