$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?>$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ਰੀਐਕਟ ਵਿੱਚ ਇੱਕ ਕਾਲਬੈਕ

ਰੀਐਕਟ ਵਿੱਚ ਇੱਕ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ

ਰੀਐਕਟ ਵਿੱਚ ਇੱਕ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ
ਰੀਐਕਟ ਵਿੱਚ ਇੱਕ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ

ਡਾਇਨਾਮਿਕ ਕਾਲਬੈਕਸ ਨਾਲ ਪ੍ਰਤੀਕਿਰਿਆ ਸਾਰਣੀ ਦੀਆਂ ਕਤਾਰਾਂ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਬਦਲਣਾ

ਵਿੱਚ ਇੱਕ ਡਾਇਨਾਮਿਕ ਟੇਬਲ ਬਣਾਉਣ ਵੇਲੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਬੈਕ-ਐਂਡ ਵਰਗੇ ਡੇਟਾ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਲਾਰਵੇਲ, ਡਾਟਾ ਪਰਿਵਰਤਨ ਨੂੰ ਸੰਭਾਲਣਾ ਇੱਕ ਮੁੱਖ ਕੰਮ ਬਣ ਜਾਂਦਾ ਹੈ। ਅਕਸਰ, ਤੁਹਾਨੂੰ ਉਪਭੋਗਤਾ ਨੂੰ ਇਸ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕੱਚੇ ਡੇਟਾ ਨੂੰ ਬਦਲਣ ਜਾਂ ਫਾਰਮੈਟ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਉਦੋਂ ਸੱਚ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਡੇਟਾ ਵਿੱਚ ਬੁਲੀਅਨ ਮੁੱਲ, ਮਿਤੀਆਂ, ਜਾਂ ਹੋਰ ਕਿਸਮਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਫਾਰਮੈਟਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਇਸ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਵਿੱਚ, ਸਾਡੇ ਕੋਲ ਲਾਰਵੇਲ ਬੈਕ-ਐਂਡ ਤੋਂ ਪਾਸ ਕੀਤੇ ਕਾਲਮਾਂ ਦਾ ਇੱਕ ਸੈੱਟ ਹੈ ਜਿਸਨੂੰ ਸਾਨੂੰ ਰੀਐਕਟ ਵਿੱਚ ਟੇਬਲ ਸਿਰਲੇਖਾਂ ਨੂੰ ਦੁਹਰਾਉਣ ਅਤੇ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੈ। ਹਰੇਕ ਕਾਲਮ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੇ ਡੇਟਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਅਤੇ ਕੁਝ ਨੂੰ ਪਰਿਵਰਤਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, TinyInt ਦੇ ਤੌਰ 'ਤੇ ਸਟੋਰ ਕੀਤੇ ਬੂਲੀਅਨ ਮੁੱਲਾਂ ਨੂੰ "ਹਾਂ" ਜਾਂ "ਨਹੀਂ" ਵਜੋਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਇਹ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਮੁੱਲ 1 ਜਾਂ 0 ਹੈ।

ਕਾਲਮ ਨਾਮ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ JavaScript ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਚਲਾਉਣ ਦੁਆਰਾ, ਅਸੀਂ ਹਰੇਕ ਕਤਾਰ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਫਾਰਮੈਟ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਪਹੁੰਚ ਲਚਕਤਾ ਲਈ ਸਹਾਇਕ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਵੱਖ-ਵੱਖ ਕਾਲਮਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਪਰਿਵਰਤਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਰੀਐਕਟ ਦਾ ਕੰਪੋਨੈਂਟ ਬਣਤਰ ਡੇਟਾ ਨੂੰ ਦੁਹਰਾਉਣਾ ਅਤੇ ਇਹਨਾਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਲਾਗੂ ਕਰਨਾ ਸੌਖਾ ਬਣਾਉਂਦਾ ਹੈ।

ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਕਾਲਮ ਦੇ ਨਾਮ ਨੂੰ ਉਹਨਾਂ ਦੇ ਅਨੁਸਾਰੀ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਮੈਪ ਕਰਨ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਦੱਸਾਂਗੇ। ਇਹ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਅੰਦਰ ਸਹਿਜੇ ਹੀ ਡੇਟਾ ਨੂੰ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦੇਵੇਗਾ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ ਸਾਰਣੀ, ਭਾਵੇਂ ਤੁਸੀਂ ਬੁਲੀਅਨਜ਼, ਤਾਰੀਖਾਂ, ਜਾਂ ਹੋਰ ਵਿਸ਼ੇਸ਼ ਕਿਸਮਾਂ ਦੇ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲ ਰਹੇ ਹੋ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
Object.keys() ਕਿਸੇ ਵਸਤੂ ਤੋਂ ਕੁੰਜੀਆਂ ਕੱਢਦਾ ਹੈ। ਇਸ ਸੰਦਰਭ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਰੀਐਕਟ ਟੇਬਲ ਵਿੱਚ ਰੋ ਡਾਟਾ ਆਬਜੈਕਟ ਤੋਂ ਕਾਲਮ ਦੇ ਨਾਮ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
map() ਇਹ ਵਿਧੀ Object.keys() ਐਰੇ ਵਿੱਚ ਹਰੇਕ ਕੁੰਜੀ (ਕਾਲਮ) ਉੱਤੇ ਦੁਹਰਾਉਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਡੇਟਾ ਦੀ ਹਰੇਕ ਕਤਾਰ ਵਿੱਚ ਪਰਿਵਰਤਨ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ।
|| (Logical OR) ਕਿਸੇ ਖਾਸ ਕਾਲਮ ਲਈ ਕੋਈ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਨਾ ਮਿਲਣ 'ਤੇ ਫਾਲਬੈਕ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਜੇਕਰ ਕੋਈ ਪਰਿਵਰਤਨ ਮੌਜੂਦ ਨਹੀਂ ਹੈ ਤਾਂ ਅਣ-ਪਰਿਵਰਤਿਤ ਮੁੱਲ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
toUpperCase() ਨਾਮ ਕਾਲਮ ਦੇ ਡੇਟਾ ਨੂੰ ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਇੱਥੇ ਇੱਕ ਸਟ੍ਰਿੰਗ ਵਿਧੀ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਇੱਕ ਸਧਾਰਨ ਪਰਿਵਰਤਨ ਕਾਲਬੈਕ ਹੈ ਜੋ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
new Date() ਇੱਕ ਸਟ੍ਰਿੰਗ ਮੁੱਲ (ਜਿਵੇਂ ਕਿ created_at ਜਾਂ updated_at) ਤੋਂ ਇੱਕ ਨਵੀਂ ਮਿਤੀ ਆਬਜੈਕਟ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ toLocaleDateString() ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਨੂੰ ਮਨੁੱਖੀ-ਪੜ੍ਹਨਯੋਗ ਮਿਤੀ ਵਿੱਚ ਫਾਰਮੈਟ ਕਰਦਾ ਹੈ।
try...catch ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਲਈ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਪਰਿਵਰਤਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਗਲਤੀ ਨੂੰ ਫੜਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਐਪ ਕ੍ਰੈਸ਼ ਨਾ ਹੋਵੇ।
console.error() ਜਦੋਂ ਇੱਕ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ ਤਾਂ ਕੰਸੋਲ ਵਿੱਚ ਗਲਤੀਆਂ ਨੂੰ ਲੌਗ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਕੋਸ਼ਿਸ਼...ਕੈਚ ਬਲਾਕ ਵਿੱਚ ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਵਿਧੀ ਦਾ ਹਿੱਸਾ ਹੈ।
function(value) ਇਹ ਕਾਲਬੈਕ ਆਬਜੈਕਟ ਦੇ ਅੰਦਰ ਅਗਿਆਤ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਖਾਸ ਕਾਲਮਾਂ ਜਿਵੇਂ ਕਿ ਨਾਮ ਜਾਂ ਸੰਪੂਰਨ ਲਈ ਪਰਿਵਰਤਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
<td> HTML ਟੈਗ ਦੀ ਵਰਤੋਂ ਟੇਬਲ ਸੈੱਲਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿੱਥੇ ਕਤਾਰ ਵਿੱਚ ਪਰਿਵਰਤਿਤ ਡੇਟਾ ਰੈਂਡਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਪ੍ਰਤੀਕਿਰਿਆ ਸਾਰਣੀਆਂ ਵਿੱਚ ਕਾਲਬੈਕਾਂ ਦਾ ਗਤੀਸ਼ੀਲ ਐਗਜ਼ੀਕਿਊਸ਼ਨ

ਉਪਰੋਕਤ ਸਕ੍ਰਿਪਟ ਉਦਾਹਰਨਾਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਏ JavaScript ਕਾਲਬੈਕ ਇੱਕ ਵੇਰੀਏਬਲ 'ਤੇ ਅਧਾਰਤ ਫੰਕਸ਼ਨ, ਜੋ ਕਿ ਇਸ ਸਥਿਤੀ ਵਿੱਚ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਕਤਾਰ ਦਾ ਕਾਲਮ ਨਾਮ ਹੈ। ਮੁੱਖ ਸਮੱਸਿਆ ਇੱਕ Laravel ਬੈਕ-ਐਂਡ ਤੋਂ ਡੇਟਾ ਨੂੰ ਰੀਐਕਟ ਟੇਬਲ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਬਦਲਣਾ ਹੈ। ਇਹ ਉਹਨਾਂ ਮਾਮਲਿਆਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜਿੱਥੇ ਡੇਟਾ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ — ਜਿਵੇਂ ਕਿ "ਹਾਂ" ਜਾਂ "ਨਹੀਂ" ਵਰਗੇ ਪੜ੍ਹਨਯੋਗ ਲੇਬਲਾਂ ਵਿੱਚ ਬੁਲੀਅਨ ਮੁੱਲਾਂ ਨੂੰ ਬਦਲਣਾ। ਹਰੇਕ ਕਾਲਮ ਲਈ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਸਾਰਣੀ ਦੀਆਂ ਕਤਾਰਾਂ ਦੇ ਡੇਟਾ ਨੂੰ ਹਰ ਖੇਤਰ ਲਈ ਹਾਰਡਕੋਡ ਪਰਿਵਰਤਨ ਕੀਤੇ ਬਿਨਾਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਐਡਜਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਦੀ ਇੱਕ ਮੁੱਖ ਧਾਰਨਾ ਦੀ ਵਰਤੋਂ ਹੈ Object.keys(), ਜੋ ਸਾਨੂੰ ਕਤਾਰ ਡੇਟਾ ਤੋਂ ਸਾਰੇ ਕਾਲਮ ਨਾਮਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਹਰ ਇੱਕ ਕਾਲਮ ਉੱਤੇ ਦੁਹਰਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਅਸੀਂ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਦੁਆਰਾ ਸੰਬੰਧਿਤ ਪਰਿਵਰਤਨ ਨੂੰ ਲਾਗੂ ਕਰ ਸਕੀਏ। ਦ ਨਕਸ਼ਾ() ਵਿਧੀ ਇਸ ਪ੍ਰਕਿਰਿਆ ਦਾ ਇੱਕ ਹੋਰ ਜ਼ਰੂਰੀ ਹਿੱਸਾ ਹੈ, ਜੋ ਸਾਨੂੰ ਹਰੇਕ ਕੁੰਜੀ ਵਿੱਚੋਂ ਲੰਘਣ ਅਤੇ ਕਾਲਬੈਕ ਆਬਜੈਕਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਅਨੁਸਾਰੀ ਪਰਿਵਰਤਨ ਫੰਕਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਦ ਲਾਜ਼ੀਕਲ OR ਆਪਰੇਟਰ (||) ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਭਾਵੇਂ ਇੱਕ ਕਾਲਮ ਵਿੱਚ ਕੋਈ ਖਾਸ ਪਰਿਵਰਤਨ ਨਹੀਂ ਹੈ, ਮੂਲ ਕਿਰਿਆ ਕੱਚੇ ਡੇਟਾ ਨੂੰ ਵਾਪਸ ਕਰਨ ਲਈ ਹੋਵੇਗੀ।

ਉਦਾਹਰਨ ਲਈ, "ਮੁਕੰਮਲ" ਕਾਲਮ ਵਿੱਚ 1 ਜਾਂ 0 ਹੋ ਸਕਦਾ ਹੈ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕੋਈ ਕੰਮ ਪੂਰਾ ਹੋ ਗਿਆ ਹੈ ਜਾਂ ਨਹੀਂ। ਸਕ੍ਰਿਪਟ "ਮੁਕੰਮਲ" ਕਾਲਮ ਲਈ ਇੱਕ ਕਾਲਬੈਕ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਜੋ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਕੀ ਮੁੱਲ ਸਹੀ ਹੈ (1) ਜਾਂ ਗਲਤ (0), ਅਤੇ ਫਿਰ "ਹਾਂ" ਜਾਂ "ਨਹੀਂ" ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਸ ਨੂੰ ਬਹੁਤ ਸਾਰੇ ਕਾਲਮਾਂ ਲਈ "ਸਰਗਰਮ" ਵਰਗੇ ਸਾਂਝੇ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਬਣਾ ਕੇ ਆਸਾਨੀ ਨਾਲ ਹੋਰ ਬੁਲੀਅਨ ਖੇਤਰਾਂ ਵਿੱਚ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ "ਪਾਬੰਦੀਸ਼ੁਦਾ" ਜਾਂ "ਹੈ_ਅੱਪਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ।" ਇਹ ਹਰੇਕ ਖੇਤਰ ਲਈ ਸਮਾਨ ਤਰਕ ਦੀ ਨਕਲ ਕੀਤੇ ਬਿਨਾਂ ਕੋਡ ਵਿੱਚ ਲਚਕਤਾ ਅਤੇ ਮੁੜ ਵਰਤੋਂਯੋਗਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।

ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਣਾ ਵੀ ਸ਼ਾਮਲ ਹੈ ਕੋਸ਼ਿਸ਼ ਕਰੋ...ਫੜੋ. ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਜੇਕਰ ਇੱਕ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ ਜਾਂ ਅਚਾਨਕ ਡੇਟਾ ਦਾ ਸਾਹਮਣਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਗਲਤੀ ਫੜੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਬਾਕੀ ਟੇਬਲ ਅਜੇ ਵੀ ਰੈਂਡਰ ਹੁੰਦਾ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤਰੁੱਟੀਆਂ ਲੌਗ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ console.error(), ਜੋ ਡੀਬੱਗਿੰਗ ਉਦੇਸ਼ਾਂ ਲਈ ਮਦਦਗਾਰ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਦੀ ਵਰਤੋਂ ਟੂਅਪਰਕੇਸ() ਅਤੇ ਨਵੀਂ ਮਿਤੀ() ਫੰਕਸ਼ਨ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਾਲਬੈਕਸ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੇ ਡੇਟਾ ਪਰਿਵਰਤਨ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਸਟ੍ਰਿੰਗ ਫਾਰਮੈਟਿੰਗ ਜਾਂ ਮਿਤੀ ਪਰਿਵਰਤਨ।

ਰੀਐਕਟ ਵਿੱਚ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਡਾਇਨਾਮਿਕ ਡੇਟਾ ਪਰਿਵਰਤਨ

ਇਹ ਪਹੁੰਚ ਕਾਲਮ ਨਾਮ ਦੇ ਆਧਾਰ 'ਤੇ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਚਲਾਉਣ ਲਈ React ਦੇ ਅੰਦਰ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਇਹ ਇੱਕ ਸਾਰਣੀ ਵਿੱਚ ਹਰੇਕ ਕਤਾਰ ਲਈ ਕੁਸ਼ਲ ਡੇਟਾ ਪਰਿਵਰਤਨ 'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਲਾਰਵੇਲ ਵਰਗੇ ਬੈਕ-ਐਂਡ ਤੋਂ ਆਉਂਦਾ ਹੈ।

const callbacks = {
  name: function(value) { return value.toUpperCase(); },
  completed: function(value) { return value ? 'Yes' : 'No'; },
  created_at: function(value) { return new Date(value).toLocaleDateString(); },
  updated_at: function(value) { return new Date(value).toLocaleDateString(); },
};
export default function Row({ row }) {
  return (
    Object.keys(row).map((k, i) => {
      const transform = callbacks[k] || ((value) => value);
      return (
        <td key={i}>{transform(row[k])}</td>
      );
    })
  );
}

ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਸ਼ਰਤੀਆ ਕਾਲਬੈਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਲਈ ਡੇਟਾ ਮੈਪਿੰਗ

ਇਹ ਵਿਧੀ JavaScript ਅਤੇ React ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ, ਵੱਖ-ਵੱਖ ਪਰਿਵਰਤਨ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਕਾਲਮ ਦੇ ਨਾਮਾਂ ਨੂੰ ਮੈਪ ਕਰਕੇ ਮਾਡਿਊਲਰਿਟੀ ਲਈ ਟੀਚਾ ਰੱਖਦੀ ਹੈ। ਇਹ ਬੂਲੀਅਨ ਫੀਲਡ ਵਰਗੇ ਕਈ ਕਾਲਮ ਨਾਮਾਂ ਲਈ ਸ਼ੇਅਰਡ ਕਾਲਬੈਕ ਦਾ ਸਮਰਥਨ ਵੀ ਕਰਦਾ ਹੈ।

const sharedCallback = (value) => value ? 'Yes' : 'No';
const callbacks = {
  name: function(value) { return value.toUpperCase(); },
  completed: sharedCallback,
  banned: sharedCallback,
  has_uploaded: sharedCallback,
  created_at: function(value) { return new Date(value).toLocaleDateString(); },
};
export default function Row({ row }) {
  return (
    Object.keys(row).map((k, i) => {
      const transform = callbacks[k] || ((value) => value);
      return (
        <td key={i}>{transform(row[k])}</td>
      );
    })
  );
}

ਫਾਲਬੈਕਸ ਅਤੇ ਐਰਰ ਹੈਂਡਲਿੰਗ ਦੇ ਨਾਲ ਅਨੁਕੂਲਿਤ ਡੇਟਾ ਪਰਿਵਰਤਨ

ਇਹ ਸਕ੍ਰਿਪਟ JavaScript ਅਤੇ React ਦਾ ਲਾਭ ਲੈਂਦੀ ਹੈ, ਜਦੋਂ ਪਰਿਵਰਤਨ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੇ ਹਨ ਤਾਂ ਸ਼ਾਨਦਾਰ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਦੀ ਸ਼ੁਰੂਆਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਮਾਡਿਊਲਰ ਮੁੜ ਵਰਤੋਂ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਲਈ ਅਨੁਕੂਲਿਤ ਹੈ।

const callbacks = {
  name: function(value) { return value.toUpperCase(); },
  completed: function(value) { return value ? 'Yes' : 'No'; },
};
export default function Row({ row }) {
  return (
    Object.keys(row).map((k, i) => {
      try {
        const transform = callbacks[k] || ((value) => value);
        return <td key={i}>{transform(row[k])}</td>;
      } catch (error) {
        console.error(`Error transforming column ${k}:`, error);
        return <td key={i}>{row[k]}</td>;
      }
    })
  );
}

ਰੀਐਕਟ ਟੇਬਲਾਂ ਵਿੱਚ ਗੁੰਝਲਦਾਰ ਡੇਟਾ ਪਰਿਵਰਤਨ ਲਈ ਸ਼ਰਤੀਆ ਕਾਲਬੈਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ

ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਡੇਟਾ ਟੇਬਲ ਦੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ, ਇੱਕ ਪਹਿਲੂ ਜੋ ਚੁਣੌਤੀਪੂਰਨ ਹੋ ਸਕਦਾ ਹੈ ਉਹ ਹੈ ਖਾਸ ਡੇਟਾ ਪਰਿਵਰਤਨ ਦੀ ਲੋੜ। ਟੀਚਾ ਇੱਕ ਵੇਰੀਏਬਲ ਜਾਂ ਕਾਲਮ ਨਾਮ ਦੇ ਅਧਾਰ ਤੇ JavaScript ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣਾ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਡੇਟਾ ਨੂੰ ਲਚਕਦਾਰ ਢੰਗ ਨਾਲ ਬਦਲ ਸਕਦੇ ਹੋ। ਇਸ ਪਹੁੰਚ ਦਾ ਇੱਕ ਮੁੱਖ ਫਾਇਦਾ ਇਹ ਹੈ ਕਿ ਇਹ ਹਰ ਕਾਲਮ ਦੇ ਮਾਡਿਊਲਰ, ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਵਿੱਚ ਪਰਿਵਰਤਨ ਦੇ ਪਿੱਛੇ ਤਰਕ ਨੂੰ ਸੰਖੇਪ ਕਰਦਾ ਹੈ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ. ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ ਕਾਲਬੈਕ ਆਬਜੈਕਟ ਵਿੱਚ ਫੰਕਸ਼ਨ ਨੂੰ ਅਪਡੇਟ ਜਾਂ ਜੋੜ ਕੇ ਕਿਸੇ ਵੀ ਕਾਲਮ ਲਈ ਵਿਹਾਰ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਬਦਲ ਸਕਦੇ ਹੋ।

ਇਸ ਸਮੱਸਿਆ ਦਾ ਇੱਕ ਹੋਰ ਗੁੰਝਲਦਾਰ ਪਹਿਲੂ ਸਾਂਝੇ ਰੂਪਾਂਤਰਾਂ ਨੂੰ ਸੰਭਾਲਣਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਕਈ ਕਾਲਮ ਬੂਲੀਅਨ ਮੁੱਲਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ (ਉਦਾਹਰਨ ਲਈ, "ਪੂਰਾ," "ਪਾਬੰਦੀ," "ਹੈ_ਅੱਪਲੋਡ")। ਕੋਡ ਨੂੰ ਦੁਹਰਾਉਣ ਦੀ ਬਜਾਏ, ਸ਼ੇਅਰਡ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨ ਇਹਨਾਂ ਮਾਮਲਿਆਂ ਲਈ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ, ਸਾਂਭ-ਸੰਭਾਲ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦੇ ਹੋਏ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦਾ ਇਹ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਤਰੀਕਾ ਹੈ ਕਿ ਪਰਿਵਰਤਨ ਤੁਹਾਡੇ ਕੋਡਬੇਸ ਨੂੰ ਫੁੱਲਣ ਤੋਂ ਬਿਨਾਂ ਸਮਾਨ ਡੇਟਾ ਕਿਸਮਾਂ ਵਿੱਚ ਇਕਸਾਰ ਅਤੇ ਸਕੇਲੇਬਲ ਹਨ। ਇਹ ਹੋਰ ਵੀ ਕੁਸ਼ਲ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਹਰ ਸਮਾਨ ਖੇਤਰ ਲਈ ਬੇਲੋੜਾ ਕੋਡ ਨਹੀਂ ਲਿਖ ਰਹੇ ਹੋ।

ਵਿਚਾਰ ਕਰਨ ਲਈ ਇਕ ਹੋਰ ਜ਼ਰੂਰੀ ਨੁਕਤਾ ਹੈ ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਦੀ ਵਰਤੋਂ. ਇਸ ਕਿਸਮ ਦੇ ਗਤੀਸ਼ੀਲ ਸੈੱਟਅੱਪ ਵਿੱਚ, ਸੰਭਾਵੀ ਤਰੁੱਟੀਆਂ ਨੂੰ ਸ਼ਾਨਦਾਰ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਤੁਸੀਂ ਏ ਕੋਸ਼ਿਸ਼ ਕਰੋ...ਫੜੋ ਪਰਿਵਰਤਨ ਦੇ ਅਮਲ ਦੌਰਾਨ ਕਿਸੇ ਵੀ ਅਚਾਨਕ ਗਲਤੀ ਨੂੰ ਫੜਨ ਲਈ ਬਲਾਕ. ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ ਬਿਹਤਰ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹੋਏ, ਇੱਕ ਪਰਿਵਰਤਨ ਅਸਫਲ ਹੋਣ 'ਤੇ ਵੀ ਸਾਰਣੀ ਰੈਂਡਰਿੰਗ ਜਾਰੀ ਰੱਖੇ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਗਲਤੀ ਵੇਰਵਿਆਂ ਨੂੰ ਲੌਗ ਕਰਨ ਨਾਲ ਡਿਬੱਗਿੰਗ ਨੂੰ ਆਸਾਨ ਬਣਾਉਣ, ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਜਲਦੀ ਪਛਾਣਨ ਅਤੇ ਹੱਲ ਕਰਨ ਵਿੱਚ ਡਿਵੈਲਪਰਾਂ ਦੀ ਮਦਦ ਹੁੰਦੀ ਹੈ।

React Tables ਵਿੱਚ Dynamic Callbacks ਬਾਰੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ - Frequently asked Questions about Dynamic Callbacks in React Tables

  1. ਮੈਂ ਕਾਲਮ ਨਾਮ ਦੇ ਅਧਾਰ ਤੇ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਕਿਵੇਂ ਨਿਰਧਾਰਤ ਕਰਾਂ?
  2. ਨਾਲ ਇੱਕ ਵਸਤੂ ਬਣਾ ਸਕਦੇ ਹੋ callback functions ਕਾਲਮ ਦੇ ਨਾਵਾਂ ਨਾਲ ਮੈਪ ਕੀਤਾ ਗਿਆ। ਵਰਤੋ Object.keys() ਹਰੇਕ ਕਾਲਮ ਉੱਤੇ ਦੁਹਰਾਉਣ ਲਈ ਅਤੇ ਸੰਬੰਧਿਤ ਕਾਲਬੈਕ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ।
  3. ਕੀ ਮੈਂ ਕਈ ਕਾਲਮਾਂ ਲਈ ਇੱਕ ਕਾਲਬੈਕ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
  4. ਹਾਂ, ਤੁਸੀਂ ਸਾਂਝਾ ਬਣਾ ਸਕਦੇ ਹੋ callback functions ਤੁਹਾਡੇ ਕਾਲਬੈਕ ਆਬਜੈਕਟ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਕਾਲਮ ਨਾਮਾਂ ਲਈ ਇੱਕੋ ਫੰਕਸ਼ਨ ਨਿਰਧਾਰਤ ਕਰਕੇ ਕਈ ਕਾਲਮਾਂ ਲਈ।
  5. ਜੇਕਰ ਕਿਸੇ ਖਾਸ ਕਾਲਮ ਲਈ ਕਾਲਬੈਕ ਨਹੀਂ ਮਿਲਦੀ ਤਾਂ ਕੀ ਹੁੰਦਾ ਹੈ?
  6. ਮਾਮਲੇ ਨੰ callback ਇੱਕ ਕਾਲਮ ਲਈ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ || ਇੱਕ ਡਿਫੌਲਟ ਪਰਿਵਰਤਨ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਆਪਰੇਟਰ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਟੇਬਲ ਅਜੇ ਵੀ ਡੇਟਾ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ।
  7. ਮੈਂ ਮਿਤੀ ਖੇਤਰਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਕਿਵੇਂ ਫਾਰਮੈਟ ਕਰ ਸਕਦਾ ਹਾਂ?
  8. ਮਿਤੀ ਖੇਤਰਾਂ ਲਈ, ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ new Date() ਤਾਰਾਂ ਨੂੰ ਮਿਤੀ ਵਸਤੂਆਂ ਵਿੱਚ ਬਦਲਣ ਲਈ, ਅਤੇ ਫਿਰ ਵਰਤੋਂ toLocaleDateString() ਡਿਸਪਲੇ ਲਈ ਮਿਤੀ ਨੂੰ ਫਾਰਮੈਟ ਕਰਨ ਲਈ.
  9. ਮੈਂ ਕਾਲਬੈਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੌਰਾਨ ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਾਂ?
  10. ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਏ try...catch ਤੁਹਾਡੇ ਕਾਲਬੈਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦੇ ਆਲੇ ਦੁਆਲੇ ਬਲਾਕ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕੋਈ ਵੀ ਤਰੁੱਟੀ ਫੜੀ ਗਈ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਇਹਨਾਂ ਤਰੁਟੀਆਂ ਨੂੰ ਇਸ ਨਾਲ ਲੌਗ ਕਰ ਸਕਦੇ ਹੋ console.error() ਡੀਬੱਗਿੰਗ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਲਈ।

ਡਾਇਨਾਮਿਕ ਕਾਲਬੈਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ 'ਤੇ ਅੰਤਿਮ ਵਿਚਾਰ

ਵਿੱਚ ਡਾਟਾ ਪਰਿਵਰਤਨ ਨੂੰ ਸੰਭਾਲਣਾ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ JavaScript ਕਾਲਬੈਕਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਟੇਬਲ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਤਕਨੀਕ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਬੈਕ-ਐਂਡ ਵਰਗੇ ਗਤੀਸ਼ੀਲ ਡੇਟਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਲਾਰਵੇਲ ਕੁਸ਼ਲਤਾ ਨਾਲ. ਕਾਲਮਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਅਨੁਸਾਰੀ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਮੈਪ ਕਰਕੇ, ਤੁਸੀਂ ਅਨੁਕੂਲਿਤ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਵਿਅਕਤੀਗਤ ਪਰਿਵਰਤਨਾਂ ਨੂੰ ਹਾਰਡਕੋਡ ਕੀਤੇ ਬਿਨਾਂ ਡੇਟਾ ਦੇ ਹਰੇਕ ਹਿੱਸੇ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਸਮਾਨ ਡੇਟਾ ਕਿਸਮਾਂ, ਜਿਵੇਂ ਕਿ ਬੂਲੀਅਨ ਮੁੱਲਾਂ ਲਈ ਸ਼ੇਅਰਡ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ, ਕੋਡ ਦੀ ਮੁੜ ਵਰਤੋਂ ਅਤੇ ਸਾਂਭ-ਸੰਭਾਲ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ। ਅਜ਼ਮਾਓ...ਕੈਚ ਬਲੌਕਸ ਨਾਲ ਨਜਿੱਠਣ ਵਿੱਚ ਤਰੁੱਟੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨਿਰਵਿਘਨ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ ਭਾਵੇਂ ਕੋਈ ਤਬਦੀਲੀ ਅਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ, ਹੱਲ ਨੂੰ ਲਚਕਦਾਰ ਅਤੇ ਮਜ਼ਬੂਤ ​​​​ਬਣਾਉਂਦਾ ਹੈ।

ਰੀਐਕਟ ਵਿੱਚ ਡਾਇਨਾਮਿਕ ਕਾਲਬੈਕ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
  1. ਇਹ ਲੇਖ ਗਤੀਸ਼ੀਲ ਡਾਟਾ ਸੰਭਾਲਣ ਲਈ ReactJS ਵਿੱਚ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਸੀ। ਤੁਸੀਂ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ਾਂ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਕਾਲਬੈਕ ਫੰਕਸ਼ਨਾਂ ਬਾਰੇ ਹੋਰ ਲੱਭ ਸਕਦੇ ਹੋ: ReactJS ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ .
  2. Laravel ਤੋਂ ਡੇਟਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਅਤੇ ਇਸਨੂੰ React ਵਿੱਚ ਬਦਲਣ ਲਈ, Laravel ਦਸਤਾਵੇਜ਼ ਵੇਖੋ: ਲਾਰਵੇਲ ਅਧਿਕਾਰਤ ਦਸਤਾਵੇਜ਼ .
  3. ਵਰਤਣ ਲਈ ਆਮ ਸੇਧ Array.prototype.map() ਅਤੇ ਹੋਰ JavaScript ਐਰੇ ਢੰਗ ਮੋਜ਼ੀਲਾ ਡਿਵੈਲਪਰ ਨੈੱਟਵਰਕ (MDN) 'ਤੇ ਲੱਭੇ ਜਾ ਸਕਦੇ ਹਨ।