Back to Question Center
0

ਰੀਐਕਟਰ ਸਟੇਟ ਪ੍ਰੌਪੇਸ਼ਨ ਦਾ ਪਤਾ ਲਗਾਉਣਾ            ਰੀਐਕਟਾਂ ਦੇ ਸਟੇਟ ਪ੍ਰਸਾਰਾਂ ਬਾਰੇ ਪਤਾ ਲਗਾਉਣ ਸੰਬੰਧੀ ਵਿਸ਼ਿਆਂ: JavaScriptMobileHTML ਅਤੇ & CSSBusinessWeb ਸਮਾਲਟ

1 answers:
ਰੀਐਕਟਰ ਸਟੇਟ ਪ੍ਰਸਾਰਣ ਦੀ ਖੋਜ ਕਰਨਾ

ਇਹ ਲੇਖ ਮਾਈਕਰੋਸਾਫਟ ਤੋਂ ਇੱਕ ਵੈਬ ਡਿਵੈਲਪਮੈਂਟ ਸੀਰੀਜ਼ ਦਾ ਹਿੱਸਾ ਹੈ. ਯੋਗ ਸਾਂਝੇਦਾਰ ਬਣਾਉਣ ਵਾਲੇ ਸਹਿਭਾਗੀਆਂ ਦੇ ਸਹਿਯੋਗ ਲਈ ਤੁਹਾਡਾ ਧੰਨਵਾਦ

ਇੱਕ ਪਿਛਲੇ ਲੇਖ ਵਿੱਚ ਇੱਕ ਸਮਾਲਟ ਭਾਗ ਵਿੱਚ ਡੇਟਾ ਦਾ ਪਤਾ ਲਗਾਇਆ ਗਿਆ ਸੀ ਡੇਟਾ ਨੂੰ ਦੋ ਢਾਂਚਿਆਂ-ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਰਾਜ ਦੁਆਰਾ ਦਰਸਾਇਆ ਗਿਆ ਹੈ. ਪਹਿਲਾਂ ਅਪਰਿਅਟਿਵ ਡਾਟਾ ਦਾ ਪ੍ਰਤੀਨਿਧ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਬਾਅਦ ਵਿੱਚ ਉਹ ਡੇਟਾ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ UI ਦੇ ਨਾਲ ਜਾਂ ਹੋਰ ਬਾਹਰੀ ਸਾਧਨਾਂ ਰਾਹੀਂ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ - tappeti per esterni.

ਰਾਜ ਦੇ ਡੇਟਾ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ, UI ਨੂੰ ਅਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਸਟੇਟ ਨੂੰ ਕਾਲ ਦੇ ਰਾਹੀਂ ਸੈਟਸਟੇਟ ਫੰਕਸ਼ਨ ਤੇ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ. ਆਮ ਤੌਰ ਤੇ, ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਘਟਨਾ ਹੈਂਡਲਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਘਟਨਾ ਦੇ ਜਵਾਬ ਵਜੋਂ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ.

ਇਸ ਅਹੁਦੇ 'ਤੇ, ਅਸੀਂ ਰਾਜ ਦੇ ਨਵੀਨੀਕਰਨ ਨੂੰ ਅੱਗੇ ਵਧਾਵਾਂਗੇ, ਜਿਸ ਵਿਚ ਫਾਰਮ ਇੰਪੁੱਟ ਦੇ ਭਾਗ ਅਤੇ ਬਾਲ ਔਫਤਾਂ ਦੇ ਸੰਪਤੀਆਂ ਰਾਹੀਂ ਰਾਜ ਦੇ ਮੁੱਲਾਂ ਦਾ ਪ੍ਰਸਾਰ ਵੀ ਸ਼ਾਮਲ ਹੈ. ਅੰਤ ਵਿੱਚ, ਅਸੀਂ ਸੈਮੂਅਲ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਲਈ ਵਧੇਰੇ ਪ੍ਰਭਾਵੀ ਤਰੀਕਿਆਂ ਨੂੰ ਸਮਝਣ ਲਈ ਫੇਸਬੁਕ ਦੁਆਰਾ ਬਣਾਈ ਗਈ Immutable JavaScript ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਵੇਖਾਂਗੇ ਜਦੋਂ ਇੱਕ ਕੰਪੋਨੈਂਟ ਨੂੰ ਮੁੜ-ਪੇਸ਼ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ.

ਇੰਪੁੱਟ ਅਨੁਪਾਤ

ਆਉ ਅਸੀਂ ਹੇਠ ਲਿਖੀ ਰੀਮਾਈਂਡ ਸੈਮਤਾਲ 'ਤੇ ਵਿਚਾਰ ਕਰੀਏ, ਜਿਸ ਵਿਚ ਇਕ ਇੰਨਪੁੱਟ ਐਲੀਮੈਂਟ ਵਾਲਾ ਇਕ ਫਾਰਮ ਹੈ ਅਤੇ ਇਨਪੁਟ ਐਲੀਮੈਂਟ ਤੇ ਰਜਿਸਟਰੀ ਬਦਲੀ ਦੀ ਘਟਨਾ ਹੈ.

   var ਸੁਨੇਹਾ = ਪ੍ਰਤੀਕਰਮ createClass ({getInitialState: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ {ਸੁਨੇਹਾ: ਇਹ. ਖਿਡੌਣੇ ਸੁਨੇਹਾ};},_messageChange: ਫੰਕਸ਼ਨ (e) {ਇਹ. setState ({ਸੁਨੇਹਾ: e. ਨਿਸ਼ਾਨਾ. value});},ਰੈਂਡਰ: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ (
<ਸਪੈਨ> ਸੁਨੇਹਾ: {ਇਹ. ਰਾਜ ਸੁਨੇਹਾ}
ਸੁਨੇਹਾ: <ਇੰਪੁੱਟ ਟਾਈਪ = "ਟੈਕਸਟ" ਮੁੱਲ = {ਇਹ. ਰਾਜ ਸੰਦੇਸ਼} ਬਦਲੀ = {ਇਹ. _messageChange} />
);},});

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

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

ਰੀਐਕਟਰ ਸਟੇਟ ਪ੍ਰੌਪੇਸ਼ਨ ਦਾ ਪਤਾ ਲਗਾਉਣਾਰੀਐਕਟਾਂ ਦੇ ਸਟੇਟ ਪ੍ਰਸਾਰਾਂ ਬਾਰੇ ਪਤਾ ਲਗਾਉਣ ਸੰਬੰਧੀ ਵਿਸ਼ਿਆਂ:
JavaScriptMobileHTML ਅਤੇ CSSBusinessWeb ਮਿਡਲ

ਇੰਪੁੱਟ ਭਾਗ ਜਾਂ ਤਾਂ ਨਿਯੰਤ੍ਰਿਤ ਜਾਂ ਅਨਿਯਮਤ ਹੋ ਸਕਦੇ ਹਨ . ਨਿਯੰਤਰਿਤ ਕੰਪੋਨੈਂਟਸ ਵੈਲਯੂ ਅਤੇ ਔਨਚੇਂਜ ਦੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੁਆਰਾ ਪ੍ਰਤੀਕ੍ਰਿਆ ਦੁਆਰਾ ਵਿਵਸਥਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ. ਜਦੋਂ ਉਪਭੋਗਤਾ ਇਨਪੁਟ ਐਲੀਮੈਂਟ ਵਿੱਚ ਟੈਕਸਟ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਰਜਿਸਟਰਡ ਔਨ ਚੇਂਜ ਇਵੈਂਟ ਹੈਡਲਰ ਨੂੰ ਐਕਜ਼ੀਕਿਯੂਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਦਾਖਲ ਪਾਠ ਇੱਕ ਇਵੈਂਟਾਂ ਔਬਜੈਕਟ ਰਾਹੀਂ ਆਰਗੂਮੈਂਟ ਵਜੋਂ ਪਾਸ ਹੁੰਦਾ ਹੈ. ਟੈਕਸਟ ਆਰਗੂਮੈਂਟ ਦੀ ਵਰਤੋਂ ਸਟੇਟ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜੋ ਫਿਰ ਨਿਯੰਤ੍ਰਿਤ ਕੰਪੋਨੈਂਟ ਵਿੱਚ ਪ੍ਰੋਪਸ ਦੁਆਰਾ ਵਾਪਸ ਪਾਸ ਕੀਤੀ ਜਾਂਦੀ ਹੈ. ਵੈਲ ਪ੍ਰੋਮੋਟ ਸੈੱਟ ਦੇ ਨਾਲ ਇੱਕ ਫਾਰਮ ਕੰਪੋਨੈਂਟ ਪਰ ਕੋਈ ਔਨ ਚੇਂਜ ਦੀ ਜਾਇਦਾਦ, ਕੇਵਲ ਪਹਿਲਾਂ ਹੀ ਜ਼ਿਕਰ ਕੀਤੇ ਅਨੁਸਾਰ ਹੀ ਪੜਿਆ ਜਾਵੇਗਾ.

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

ਹੇਠ ਲਿਖੀਆਂ ਨਾਨ-ਮਿਮਲ ਕੋਡਾਂ 'ਤੇ ਵਿਚਾਰ ਕਰੋ.

   
<ਇਨਪੁਟ ਨਾਮ = "ਸੁਨੇਹਾ" ਮੁੱਲ = "ਹੈਲੋ ਵਿਸ਼ਵ!"><ਬਟਨ> ਮੁੱਲ ਲਵੋ!

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

   ਦਸਤਾਵੇਜ਼. getElementsByTagName ("ਬਟਨ") [0]. addEventListener ("ਕਲਿੱਕ", ਫੰਕਸ਼ਨ    {ਕੰਸੋਲ ਲੌਗ (ਡੌਕਯੂਮੈਂਟ. querySelector ("[name = 'message']"). getAttribute ("value"));});    

ਦਿਲਚਸਪ ਗੱਲ ਇਹ ਹੈ ਕਿ, ਬੌਕਸ ਵਿਚ ਟਾਈਪ ਕੀਤਾ ਗਿਆ ਆਉਟਪੁਟ NOT ਅਪਡੇਟ ਕੀਤਾ ਟੈਕਸਟ ਹੈ, ਬਲਕਿ ਵਿਸ਼ੇਸ਼ਤਾ ਦਾ ਅਸਲੀ ਮੁੱਲ ਜਦੋਂ ਇਨਪੁਟ ਦਾ ਨਿਯੰਤਰਣ ਕੀਤਾ ਗਿਆ ਸੀ. ਜਦੋਂ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ ਪਾਠ ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ DOM ਇੰਪੁੱਟ ਦੇ ਨਿਯੰਤ੍ਰਣ ਦੇ ਸਥਿਤੀ ਨਾਲ ਸਮਕਾਲੀਨ ਨਹੀਂ ਹੈ.

ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਦੇਖਣ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਪੈਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.

ਵੇਖੋ ਪੈਨ ਰਿਐਕਟ. ਕੋਡਪੇਨ ਤੇ ਸੀਟਪੁਆਇੰਟ ਦੁਆਰਾ ਅਣਅਧਿਕਾਰਤ ਇਨਪੁਟ ਡੈਮੋ.

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

ਨਿਮਨਲਿਖਤ ਮਿਥੁਨਿਕ ਪ੍ਰਦਰਸ਼ਨ ਤੇ ਵਿਚਾਰ ਕਰੋ.

ਪੈਨ ਰਿਐਕਟ ਵੇਖੋ. js ਨਿਯੰਤਰਿਤ / ਅਨਿਯਮਤ ਇਨਪੁਟ ਡੈਮੋ ਨੇ SitePoint (@SitePoint) ਕੋਡਪੈਨ ਤੇ.

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

ਇਕ ਇੰਪੁੱਟ ਭਾਗ ਬੇਰੋਕਿਤ ਜੇਕਰ ਇਸਦੇ ਕੋਲ ਵੈਲਯੂ ਸੰਪਤੀ ਸੈੱਟ ਨਹੀਂ ਹੈ, ਅਤੇ ਆਈਓਐਸ ਵਿਚ ਆਮ ਤੌਰ ਤੇ ਜਦੋਂ ਕੰਪੋਨੈਂਟ ਨਾਲ ਤਾਲਮੇਲ ਹੁੰਦਾ ਹੈ, ਪਰ ਕੋਈ ਮੁੜ-ਰੈਂਡਰਿੰਗ ਨਹੀਂ ਹੋਵੇਗਾ ਨਤੀਜੇ ਵਜੋਂ ਰਾਜ ਵਿੱਚ ਤਬਦੀਲੀਆਂ

ਅਤਿਰਿਕਤ ਰੂਪ ਵਿਚ ਇੰਪੁੱਟ ਸਾਮੱਗਰੀ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਦੀ ਪੜਚੋਲ ਕਰਨ ਲਈ ਅਗਲੇ ਦੋ ਭਾਗਾਂ ਵਿਚ ਵਰਣਿਤ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਸੰਮਿਲਤ ਸੂਚੀ ਦੇ ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ.

ਬਾਲ ਅਨੁਪਾਤ ਰਾਹੀਂ ਰਾਜ ਦੀ ਪ੍ਰਸਾਰ

ਡਿਵੈਲਪਰ ਜੋ ਰੀਐਕਟੇਜ ਕਰਨ ਲਈ ਨਵੇਂ ਹੁੰਦੇ ਹਨ ਅਕਸਰ ਇਹ ਸੋਚਦੇ ਹਨ ਕਿ ਡੇਟਾ ਪ੍ਰੋਪਸ ਜਾਂ ਸਟੇਟ ਵਿਚ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜਾਂ ਨਹੀਂ. ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੀਆਂ ਅਸਾਮੀਆਂ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਪ੍ਰੋਪ ਇੱਕ ਅਟੁੱਟ ਢਾਂਚਾ ਹੈ ਅਤੇ ਉਹ ਭਾਗਾਂ ਵਿੱਚ ਡਾਟਾ ਪਾਸ ਕਰਨ ਦਾ ਪਸੰਦੀਦਾ ਤਰੀਕਾ ਹੈ. ਰਾਜ ਇੱਕ ਅਸਥਿਰ ਰੂਪ ਹੈ ਜੋ ਕੰਪੋਨੈਂਟ ਨੂੰ ਮੁੜ-ਰੈਂਡਰ ਨੂੰ ਟਰਿਗਰ ਕਰਦਾ ਹੈ ਜਦੋਂ ਇਹ ਬਦਲਦਾ ਹੈ ਪਹਿਲਾਂ ਦੇ ਸਵਾਲ ਦਾ ਜਵਾਬ- ਭਾਵੇਂ ਡੇਟਾ 17 ਜਾਂ 18 ਜਾਂ ਸਟੇਟ ਵਿੱਚ ਸੰਭਾਲਿਆ ਜਾਵੇ - ਦੋਵੇਂ ਹੀ ਹਨ. ਚੁਣਨਾ ਪ੍ਰਸੰਸਾ ਜਾਂ ਰਾਜ ਕੋਲ ਡਾਟਾ ਨਾਲ ਕੀ ਸੰਬੰਧ ਹੈ, ਅਤੇ ਸਮੁੱਚੇ ਕੰਪੋਨੈਂਟ ਸਟ੍ਰਕਚਰ ਵਿਚ ਡੇਟਾ ਦੇ ਸਬੰਧਾਂ ਨਾਲ ਕੀ ਸੰਬੰਧ ਹੈ. ਸਟੇਟ ਡੇਟਾ ਤਦ ਇੱਕ ਬਾਲ ਕੰਪੋਨੈਂਟ ਵਿੱਚ ਪ੍ਰੋਪਸ ਦੇ ਰੂਪ ਵਿੱਚ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਪ੍ਰੋਪ ਜਾਂ ਸਟੇਟ ਮੁੱਖ ਤੌਰ ਤੇ ਕੰਪੋਨੈਂਟ ਨੂੰ ਡਾਟਾ ਦੇ ਸਬੰਧਾਂ, ਨਾਲ ਹੀ ਕੰਪੋਨੈਂਟ ਦੇ ਹੋਰ ਹਿੱਸੇਾਂ ਦੇ ਸਬੰਧਾਂ ਦਾ ਇਸਤੇਮਾਲ ਕਰਨ ਲਈ ਨਿਰਧਾਰਤ ਕਰਨਾ.

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

   ਮੂਲ ਰੰਗ ਭਾਗgetInitialState: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ {ਰੰਗ: ਨਵੇਂ ਨਿਰਪੱਖ ਸੂਚੀ (ਇਹ. ਰੰਗਤ ਰੰਗ)};},ਰੈਂਡਰ: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ (
);}

ਮਾਪਿਆਂ ਦੇ ਹਿੱਸੇ ਤੋਂ ਬੱਚੇ ਨੂੰ ਰਾਜ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਪ੍ਰਸਾਰਿਤ ਕਰਨ ਲਈ, ਰਾਜ ਮੁੱਲ ਬੱਚੇ ਦੇ ਅਨੁਪਾਤ ਵਿੱਚ ਪ੍ਰਸਾਰ ਦੇ ਰੂਪ ਵਿੱਚ ਦਰਸਾਈਆਂ ਜਾਂਦੀਆਂ ਹਨ ਜਿਵੇਂ ਕਿ ਮਾਪਿਆਂ ਦਾ ਰੈਂਡਰ ਫੰਕਸ਼ਨ

ਬੱਚਾ ਅਨੁਪਾਤ ਦੇ ਸੰਪੱਤੀ ਦੁਆਰਾ ਪਾਸ ਕੀਤੀ ਗਈ ਪ੍ਰਾਂਤ ਨੂੰ ਐਕਸੈਸ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ.

   ਬਾਲ ਰੰਗ ਸੂਚੀ ਭਾਗਰੈਂਡਰ: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ (
    {ਇਹ. ਖਿਡੌਣੇ ਰੰਗ. ਮੈਪ (ਫੰਕਸ਼ਨ (ਰੰਗ) {
  • {color} ;})});}

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

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

   ਬਾਲ ਰੰਗ ਫਾਰਮ ਭਾਗ_onClick: ਫੰਕਸ਼ਨ (e) {// ਇੱਕ ਨਵੇਂ ਰੰਗ ਦੀ ਸੂਚਨਾ ਦੇਣ ਲਈ ਮਾਪੇ 'ਤੇ _addColor ਫੰਕਸ਼ਨ ਕਾਲ ਕਰਦਾ ਹੈਇਹ. ਖਿਡੌਣੇ addColor (ਇਹ. state. newColor);// ਇੰਪੁੱਟ ਭਾਗ ਇਸ ਫਾਰਮ ਭਾਗ ਦਾ ਇੱਕ ਬਾਲ ਭਾਗ ਹੈ// ਇਸ ਲਈ ਇਹ ਕੰਪੋਨੈਂਟ ਸਟੇਟ ਨੂੰ ਉਸਦੇ ਆਪਣੇ ਰੂਪ ਵਿੱਚ ਕਾਇਮ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਨਾਲ ਹੀ ਗੁਜਰਦਾ ਹੈ// ਇਸਦੇ ਮਾਪਿਆਂ ਦੇ ਨਾਲ ਨਵੇਂ ਡੈਟਾ ਦੇ ਨਾਲ -// ਪੂਰਾ ਕੰਪੋਨੈਂਟ//// ਕਿਉਂਕਿ ਇਹ ਫਾਰਮ ਇਸ ਭਾਗ ਵਿਚ ਸਵੈ-ਸੰਕਲਪ ਹੈ, ਰਾਜ ਲਈ// ਫਾਰਮ ਇੱਥੇ ਪਰਬੰਧਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਨਾ ਕਿ ਮੂਲ ਕੰਪੋਨੈਂਟਇਹ. setState ({newColor: undefined});},ਰੈਂਡਰ: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ (

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

   ਮੂਲ ਰੰਗ ਭਾਗ_addColor: ਫੰਕਸ਼ਨ (ਨਵਾਂਕੋਲਰ) {ਇਹ. ਰਾਜ ਰੰਗ. setState ({ਰੰਗ: ਇਹ. ਰਾਜ ਰੰਗ});},    

ਜਦੋਂ ਇਕ ਹਿੱਸੇ ਨੂੰ ਅਪਡੇਟ ਕਰਦੇ ਹਨ, ਤਾਂ ਇਹ ਮਾਪਿਆਂ ਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ, ਜੋ ਫਿਰ ਸਾਰੇ ਬੱਚਿਆਂ ਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ ਰਾਜ ਇੱਕ ਹਿੱਸੇ ਵਿੱਚ ਕਾਇਮ ਰੱਖਿਆ ਗਿਆ ਹੈ, ਅਤੇ ਬਾਕੀ ਸਾਰੇ ਹਿੱਸੇ ਸਿਰਫ਼ ਰਾਜ ਤੋਂ ਸਥਾਪਤ ਕੀਤੇ ਗਏ ਅਗਾਊਂ ਪ੍ਰਸੰਗ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦੇ ਹਨ.

ਸਮੁੱਚੀ ਕਲਰ ਸੂਚੀ ਕੋਡ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਵੇਖਣ ਲਈ, ਹੇਠਾਂ ਸਮਾਲ ਚੈੱਕ ਕਰੋ.

ਵੇਖੋ ਪੈਨ ਰਿਐਕਟ. ਜੇ.ਪੀ. ਪ੍ਰਸਾਰਣ ਡੈਮੋ ਸਾਈਟਪੁਆਇੰਟ ਦੁਆਰਾ (@ਸੀਟਪੁਆਇੰਟ) ਕੋਡਪੈਨ ਤੇ.

Immutability

ਜਦੋਂ ਕਿ ਪਰੋਪੀਆਂ ਤਕਨੀਕੀ ਤੌਰ 'ਤੇ ਅਸਥਿਰ (ਅਰਥਾਤ, ਜਾਵਾ-ਸਕ੍ਰਿਪਟ ਇੱਕ ਭਾਗ ਨੂੰ ਬਦਲਣ ਤੋਂ ਰੋਕਦਾ ਨਹੀਂ), ਉਹਨਾਂ ਨੂੰ ਬਦਲਣ ਲਈ ਪ੍ਰਤੀਕਰਮ ਦੇ ਬੁਨਿਆਦੀ ਸਿਧਾਂਤ ਦਾ ਉਲੰਘਣਾ ਹੋਵੇਗਾ, ਅਤੇ ਇਸ ਲਈ ਇੱਕ ਨੂੰ ਵਿਚਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਅਸਥਿਰ ਹੋਣਾ

ਦੂਜੇ ਪਾਸੇ, ਰਾਜ ਅਕਸਰ ਮਿਟਾਇਆ ਜਾਂਦਾ ਹੈ. ਪਰ, ਪ੍ਰਤੀਕਰਮਯੋਗਤਾ ਦਾ ਸਿਧਾਂਤ ਰਾਜ ਦੇ ਨਾਲ ਲੀਵਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਤਾਂ ਜੋ ਪ੍ਰਤੀਕਰਮ ਕੰਪੋਨੈਂਟ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਵਿਚ ਹੋਰ ਸੁਧਾਰ ਕੀਤਾ ਜਾ ਸਕੇ.

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

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

   var ਰੰਗ = ["ਲਾਲ", "ਨੀਲਾ", "ਹਰਾ"];var listOfColors = ਨਵੇਂ ਅਪੂਰਨ. ਸੂਚੀ (ਰੰਗ);var newListOfColors = ਸੂਚੀ ਅਨੁਸਾਰ ਕੌਲਰ ਪੁਸ਼ ("ਸੰਤਰੀ");// ਆਉਟਪੁਟ ਗਲਤਕੰਸੋਲ log (listOfColors === newListOfColors);    

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

ਰੀਐਕਟਰ ਸਟੇਟ ਪ੍ਰੌਪੇਸ਼ਨ ਦਾ ਪਤਾ ਲਗਾਉਣਾਰੀਐਕਟਾਂ ਦੇ ਸਟੇਟ ਪ੍ਰਸਾਰਾਂ ਬਾਰੇ ਪਤਾ ਲਗਾਉਣ ਸੰਬੰਧੀ ਵਿਸ਼ਿਆਂ:
JavaScriptMobileHTML ਅਤੇ CSSBusinessWeb ਮਿਡਲ

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

ਪਿਛਲੇ ਭਾਗ ਤੋਂ ਸੈਮਟ ਲਿਸਟ ਕੋਡ ਪ੍ਰਦਰਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ, ਜੋ ਕਿ ਹੇਠਾਂ ਫੈਲਾਇਆ ਗਿਆ ਹੈ.

   ਮੂਲ ਰੰਗ ਭਾਗgetInitialState: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ {ਰੰਗ: ਨਵੇਂ ਨਿਰਪੱਖ ਸੂਚੀ (ਇਹ. ਰੰਗਤ ਰੰਗ)};},_addColor: ਫੰਕਸ਼ਨ (ਨਵਾਂਕੋਲਰ) {ਇਹ. setState ({ਰੰਗ = ਇਹ. ਰਾਜ ਰੰਗ. ਪੁਸ਼ (ਨਿਊਕੋਲਰ)});},ਰੈਂਡਰ: ਫੰਕਸ਼ਨ    {ਵਾਪਸੀ (
);}
   ਬਾਲ ਰੰਗ ਸੂਚੀ ਭਾਗshouldComponentUpdate: ਫੰਕਸ਼ਨ (ਅਗਲੇਪੌਪ, ਅਗਲਾ ਸਟੇਟ) {ਵਾਪਸ ਆ ਜਾਓ ਰੰਗ! == ਇਹ. ਖਿਡੌਣੇ ਰੰਗ;}    

ਫੰਕਸ਼ਨ _addColor ਮਾਪੇ ਹਿੱਸੇ ਵਿੱਚ ਇੱਕ ਹੋਰ ਬਾਲ ਕੰਪੋਨੈਂਟ ਉੱਤੇ ਇੱਕ ਘਟਨਾ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ (ਇੱਥੇ ਦਿਖਾਇਆ ਨਹੀਂ ਗਿਆ, ਪਰ ਕੋਡਪੈਨ ਵਿੱਚ). ਘਟਨਾ ਤੋਂ ਨਵਾਂ ਰੰਗ ਡਾਟਾ _addColor ਫੰਕਸ਼ਨ ਵਿੱਚ ਪਾਸ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਰੰਗਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਜੋੜ ਦਿੱਤਾ ਗਿਆ ਹੈ. ਜਦੋਂ ਰੰਗ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ, ਇਕ ਨਵੀਂ ਲਿਸਟ ਆਬਜੈਕਟ ਤਿਆਰ ਕੀਤੀ ਗਈ ਹੈ ਅਤੇ ਅਗਾਊਂ ਲਾਇਬਰੇਰੀ ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਪੁੱਲ ਫੰਕਸ਼ਨ ਤੋਂ ਵਾਪਸ ਕੀਤੀ ਗਈ ਹੈ. ਜਦੋਂ ਮੂਲ ਅਨੁਪਾਤ ਨੂੰ ਮੁੜ-ਰੈਂਡਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਚਾਇਲਡ ਕਲਰ ਲਿਸਟ ਕੰਪੋਨੈਂਟ ਦੇ ਕਾਂਅਨਨੇਟਅੱਪਡੇਟ ਫੰਕਸ਼ਨ ਨੂੰ ਬੁਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਅਸਲੀ ਕਲਰ ਸੂਚੀ ਤੋਂ ਸੰਦਰਭ ਨੂੰ ਨਵੇਂ ਰੰਗ ਸੂਚੀ ਦੇ ਸੰਦਰਭ ਨਾਲ ਤੁਲਨਾ ਕਰਦਾ ਹੈ (ਇਹ ਸਮਝਣ ਲਈ ਕਿ ਕਿਵੇਂ ਨਵ ਰੰਗ ਸੂਚੀ ਨੂੰ ਮਾਪਿਆਂ ਤੋਂ ਬੱਚੇ ਦੇ ਭਾਗ ਲਈ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਪਿਛਲਾ ਭਾਗ ਵੇਖੋ). ਕਿਉਂਕਿ Immutability ਲਾਇਬਰੇਰੀ ਇੱਕ ਨਵਾਂ ਔਬਜੈਕਟ ਉਤਪੰਨ ਕਰਦੀ ਹੈ, ਇਸ ਲਈ ਸਭ ਕੁਝ ਲੋੜੀਂਦਾ ਹੈ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਇੱਕ ਸਰਲ ਸੰਦਰਭ ਤੁਲਨਾ ਹੈ ਕਿ ਸੂਚੀ ਵਿੱਚ ਬਦਲਾਵ ਕੀਤਾ ਗਿਆ ਸੀ ਜਾਂ ਨਹੀਂ. ਇਸ ਲਈ, ਸੂਚੀ ਕੇਵਲ ਉਦੋਂ ਹੀ ਅਪਡੇਟ ਕੀਤੀ ਜਾਏਗੀ ਜੇ ਸੂਚੀ ਬਦਲਦੀ ਹੈ, ਨਾ ਕਿ ਮੂਲ ਅਨੁਪਾਤ ਦੁਆਰਾ ਸ਼ੁਰੂ ਕੀਤੇ ਹਰੇਕ ਮੁੜ-ਰੈਂਡਰ ਤੇ.

ਕਾਰਵਾਈ ਵਿੱਚ ਸਾਰੀ ਉਦਾਹਰਣ ਲਈ, ਹੇਠਾਂ ਸਾਮਾਡਲ ਚੈੱਕਆਉਟ ਕਰੋ.

ਪੈਨ ਰਿਐਕਟ ਵੇਖੋ. js ਨਿਰਯੋਗਤਾ ਡੈਮੋ ਦੁਆਰਾ ਸਾਈਟਪਾਇੰਟ (@ਸੀਟਪੁਆਇੰਟ) ਕੋਡਪੈਨ ਤੇ.

ਡੈਮੋ ਐਪਲੀਕੇਸ਼ਨ

ਇੱਕ ਕੰਮ ਕਰਨ ਵਾਲ਼ੀ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨ, ਜੋ ਕਿ ਇਸ ਅਤੇ ਪਿਛਲੇ ਪੋਸਟਾਂ ਵਿੱਚੋਂ ਕਈ ਸੰਕਲਪਾਂ ਨੂੰ ਦਿਖਾਉਂਦੀ ਹੈ, https: // github ਤੇ ਉਪਲਬਧ ਹੈ. com / DevelopIntelligenceBoulder / react-flux-app ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਮਿਡਲ 'ਤੇ ਤੈਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਇਹ ਹੇਠਾਂ ਦਿੱਤੇ URL' ਤੇ ਪਹੁੰਚਯੋਗ ਹੈ: http: // react-widgets. ਅਜ਼ੂਰ ਨੈੱਟ

ਰੀਐਕਟਰ ਸਟੇਟ ਪ੍ਰੌਪੇਸ਼ਨ ਦਾ ਪਤਾ ਲਗਾਉਣਾਰੀਐਕਟਾਂ ਦੇ ਸਟੇਟ ਪ੍ਰਸਾਰਾਂ ਬਾਰੇ ਪਤਾ ਲਗਾਉਣ ਸੰਬੰਧੀ ਵਿਸ਼ਿਆਂ:
JavaScriptMobileHTML ਅਤੇ CSSBusinessWeb ਮਿਡਲ

ਵੈਬ ਐਪਲੀਕੇਸ਼ਨ ਕੰਪੋਨੈਂਟਸ ਦੀ ਰਚਨਾ, ਕੰਪੋਜ਼ਿੰਗ ਕੰਪੋਨੈਂਟਸ, ਰੈਂਪ ਅਤੇ ਸਟੇਟ ਦੇ ਸਹੀ ਵਰਤੋਂ ਅਤੇ ਘਟਨਾਵਾਂ ਦੀ ਵਿਆਪਕ ਵਰਤੋਂ ਦਰਸਾਉਂਦੀ ਹੈ. ਜਾਵਾਸਕਰਿਪਟ ES2015 ਅਤੇ JSX ਵਿੱਚ ਲਿਖਿਆ ਗਿਆ ਹੈ, Babel ਦੁਆਰਾ ਈ ਐਸ 5 ਨੂੰ ਪਾਰਸਪਿੱਲੀ ਕਰਨ ਦੇ ਨਾਲ ਨਾਲ ਇੱਕ ਵੈਬਪੈਕ ਨੂੰ ਇੱਕ ਸਿੰਗਲ ਜਾਵਾਸਕਰਿਪਟ ਫਾਇਲ ਬਣਾਉਣ ਲਈ ਲਿਖਿਆ ਗਿਆ ਹੈ ਜਿਵੇਂ ਸਾਰੇ ਕੋਡਿੰਗ ਲਾਇਬਰੇਰੀਆਂ ਜਿਵੇਂ ਕਿ ਰੀੈਕਟ, ਰੀਕੈਟਮੌਮ, ਅਗਾਊਂ ਆਦਿ. ਐਨਪੀਐਮ ਨਾਲ ਸਥਾਪਿਤ. ਗੁਲਪ ਨੇ ਕਈ ਵਿਕਾਸ ਕਾਰਜਾਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ. ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਲਈ ਅੱਜ ਪਰਕਿਰਿਆ ਦੇ ਨਾਲ ਪ੍ਰੋਗਰਾਮਾਂ ਦੇ ਕਈ ਨਵੀਨਤਾਕਾਰੀ ਅਤੇ ਉਪਯੋਗੀ ਪਹਿਲੂਆਂ ਦੀ ਤਲਾਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ.

ਪ੍ਰਾਜੈਕਟ ਨੂੰ ਚਲਾਉਣ ਲਈ ਮਿਡਲ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਵੀ, SASS ਇੱਕ CSS ਪੂਰਵ ਪ੍ਰੋਸੈਸਰ ਦੇ ਤੌਰ ਤੇ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ, ਇਸ ਲਈ SASS ਮਲਕੇ ਨਾਲ ਰੂਬੀ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਪੂਰੀ ਸੈੱਟਅੱਪ ਨਿਰਦੇਸ਼ਾਂ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ.

ਸਿੱਟਾ

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

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

ਅਸੀਂ ਬ੍ਰਾਉਜ਼ਰ ਅਤੇ ਉਪਕਰਣਾਂ ਦੇ ਉਪਕਰਣਾਂ ਨੂੰ ਟੈਸਟ ਕਰਨ ਲਈ ਉਤਸਾਹਿਤ ਕਰਦੇ ਹਾਂ, ਜਿਸ ਵਿੱਚ ਸੈਮਟਾਲ ਐਜ - ਵਿੰਡੋਜ਼ 10 ਲਈ ਡਿਫੌਲਟ ਬਰਾਊਜ਼ਰ ਹੈ - ਦੇਵ ਉੱਤੇ ਮੁਫ਼ਤ ਸਾਧਨ. microsoftdge com, ਜਿਸ ਵਿੱਚ F12 ਡਿਵੈਲਪਰ ਟੂਲ ਸ਼ਾਮਲ ਹਨ - ਸੱਤ ਡੀਬੱਗ, ਪੂਰੀ-ਦਸਤਾਵੇਜ਼ੀ ਸਾਧਨ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਡੀਬੱਗ ਕਰਨ, ਟੈਸਟ ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਵੈਬਪੇਜਜ਼ ਨੂੰ ਤੇਜ਼ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ. ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸੇਮਟ ਡਿਵੈਲਪਰਾਂ ਅਤੇ ਮਾਹਰਾਂ ਤੋਂ ਅਪਡੇਟ ਅਤੇ ਸੂਚਿਤ ਰਹਿਣ ਲਈ ਐਜ ਬਲੌਗ ਤੇ ਜਾਉ.

March 1, 2018