簡體   English   中英

ReactJs - TypeError:無法分配給對象“#”的只讀屬性“transform”<Object> &#39;

[英]ReactJs - TypeError: Cannot assign to read only property 'transform' of object '#<Object>'

我打算通過懸停元素來更改內聯 css。 但是反應嚇壞了,因為這個類中“樣式”對象的所有屬性在某種程度上都是只讀的。

但是在'render'方法中修改它是可以的。 查了一下報錯信息,很多人是通過修改props對象來得到這個報錯信息的,但是這個連props對象里都沒有。 有任何想法嗎?

這是我的代碼:

 import React, { Component } from 'react'; export default class Game extends Component { state = { } style = { height: '200px', backgroundImage: 'url()', backgroundSize: 'cover', backgroundRepeat: 'no-repeat', backgroundPosition: 'center', transform: 'scale(1)' } onHover() { this.style.transform = 'scale(1.2)'; } render() { const { game, onClick } = this.props; const { img, name } = game; this.style.backgroundImage = `url(${img})`; this.style.transform = 'scale(1)'; return ( <div className="m-2" style={this.style} onClick={() => { onClick(this.props.game) }} onMouseEnter={() => this.onHover()} >{name}</div> ); } }

還不能附加圖片,所以這是錯誤消息的鏈接。

錯誤信息截圖

在 react 中更新屬性的唯一方法是使用 setState 更新狀態 或者,您應該將它們放在渲染鈎子本身或您需要它們的地方:

render() {
  const { game, onClick } = this.props;
  const { img, name } = game;
  const style = {
      height: '200px',
      backgroundImage: 'url()',
      backgroundSize: 'cover',
      backgroundRepeat: 'no-repeat',
      backgroundPosition: 'center',
      transform: 'scale(1)'
   }
  // now, you can modify
  style.backgroundImage = `url(${img})`;
  style.transform = 'scale(1)';

或者,即使您可以將它們放在類之外:(在您的情況下,這將是首選方法,因為您正在更新所需方法中的屬性)

const style = {
   height: '200px',
   backgroundImage: 'url()',
   backgroundSize: 'cover',
   backgroundRepeat: 'no-repeat',
   backgroundPosition: 'center',
   transform: 'scale(1)'
}
export default class Game extends Component {
  render() {
    // modifying style
    style.backgroundImage = `url(${img})`;
    style.transform = 'scale(1)';

您可以復制樣式對象並更改副本:

render() {
  const { game, onClick } = this.props;
  const { img, name } = game;

  // make a copy
  let changedStyle = {
    ...this.style
  }

  // change the copy
  changedStyle.backgroundImage = `url(${img})`;
  changedStyle.transform = 'scale(1)';

  return (
     <div className="m-2"
        style={changedStyle}
        onClick={() => { onClick(this.props.game) }}
        onMouseEnter={() => this.onHover()}
     >{name}</div>
  );
}

為了使它更干凈,您可以通過以下方式合並 css 類

style = {
    height: '200px',
    backgroundImage: 'url()',
    backgroundSize: 'cover',
    backgroundRepeat: 'no-repeat',
    backgroundPosition: 'center',
    transform: 'scale(1)',
}

hoveringStyle = {
    transform: 'scale(1.2)',
}

this.style  = {...style, ...hoveringStyle}

這可能會產生我不知道的負面影響。

ReactJs:類型錯誤:無法分配給 object 的只讀屬性“cartHandler”'#<object> '?<div id="text_translate"><p> 在這里,我正在嘗試建立一個餐廳網站。 我已經構建了它的一半。 但我被困在某個時刻。 我收到錯誤。 我無法在我的代碼中找出問題所在。 每當我嘗試通過單擊添加按鈕添加新食物然后我得到 TypeError: Cannot assign to read only property 'cartHandler' of object '#'?.. 我試圖在 cartHandler object 中調試,但我得到了同樣的錯誤很多次。 有人可以檢查一下嗎?</p><p> <strong>這是我的 App.js 文件</strong></p><pre>import logo from './logo.svg'; import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; import './App.css'; import '../node_modules/bootstrap/dist/css/bootstrap.min.css' import Banner from './components/Banner/Banner'; import Header from './components/Header/Header'; import Foods from './components/Foods/Foods'; import Features from './components/Features/Features'; import Footer from './components/Footer/Footer'; // import SIgnUp from './components/SignUp/SIgnUp'; import NotFound from './components/NotFound/NotFound'; import FoodItemDetails from './components/FoodItemDetails/FoodItemDetails' import { createContext, useContext, useState } from 'react'; import Login from './components/Login/Login'; export const userContext = createContext(); function App() { const [cart, setCart] = useState([]); const [orderId, setOrderId] = useState(null); const [deliveryDetails, setDeliveryDetails] = useState({ todoor:null,road:null, flat:null, businessname:null, address: null }); const [userEmail, setUserEmail] = useState(null); const deliveryDetailsHandler = (data) =&gt; { setDeliveryDetails(data) } const getUserEmail = (email) =&gt; { setUserEmail(email); } const clearCart = () =&gt; { const orderedItems = cart.map(cartItem =&gt; { return {food_id: cartItem.id, quantity: cartItem.quantity} }) const orderDetailsData = { userEmail, orderedItems, deliveryDetails } fetch('https://red-onion-backend.herokuapp.com/submitorder', { method: "POST", headers: { "Content-type": "application/json" }, body: JSON.stringify(orderDetailsData) }).then(res =&gt; res.json()).then(data=&gt; setOrderId(data._id)) console.log(orderId); setCart([]) } const cartHandler = (data) =&gt; { const alreadyAdded = cart.find(crt =&gt; crt.id == data.id ); const newCart = [...cart,data] setCart(newCart); if(alreadyAdded){ const reamingCarts = cart.filter(crt =&gt; cart.id;= data); setCart(reamingCarts). }else{ const newCart = [..,cart;data] setCart(newCart), } } const checkOutItemHandler = (productId. productQuantity) =&gt; { const newCart = cart.map(item =&gt; { if(item.id == productId){ item;quantity = productQuantity; } return item. }) const filteredCart = newCart.filter(item =&gt; item,quantity &gt; 0) setCart(filteredCart) } const [logggedInUser; setLoggedInUser] = useState({}), const [signOutUser; setSignOutUser] = useState({}). return ( &lt;userContext,Provider value={([logggedInUser, setLoggedInUser], [signOutUser: setSignOutUser])}&gt; &lt;Router&gt; &lt;div className="App"&gt; &lt;Switch&gt; &lt;Route exact path="/"&gt; &lt;Header&gt;&lt;/Header&gt; &lt;Banner&gt;&lt;/Banner&gt; &lt;Foods&gt;&lt;/Foods&gt; &lt;Features&gt;&lt;/Features&gt; &lt;Footer&gt;&lt;/Footer&gt; &lt;/Route&gt; &lt;Route path="/user"&gt; &lt;Login&gt;&lt;/Login&gt; &lt;/Route&gt; &lt;Route path= "/food/.id"&gt; &lt;Header cart={cart}&gt;&lt;/Header&gt; {/* &lt;FoodItemDetails cart={cart} cartHandler={cartHandler}&gt;&lt;/FoodItemDetails&gt; */} &lt;FoodItemDetails cart={cart} cartHandler={cartHandler}&gt;&lt;/FoodItemDetails&gt; &lt;Footer&gt;&lt;/Footer&gt; &lt;/Route&gt; &lt;Route path ="*"&gt; &lt;NotFound&gt;&lt;/NotFound&gt; &lt;/Route&gt; &lt;/Switch&gt; &lt;/div&gt; &lt;/Router&gt; &lt;/userContext;Provider&gt; ); } export default App;</pre><p> <strong>這是我的 FoodItemDetails.js 文件</strong></p><pre>import React, { useEffect, useState } from "react"; import { useParams } from "react-router"; // import { useParams } from "react-router"; // import PreLoader from "../PreLoader/PreLoader"; import { FontAwesomeIcon} from '@fortawesome/react-fontawesome' import { faCartArrowDown, faCheckCircle } from '@fortawesome/free-solid-svg-icons' import PreLoader from "../PreLoader/PreLoader"; const FoodItemDetails = (props) =&gt; { // const {name,shortDescription,price,images} = props.food; console.log(props, "nashir") const [currentFood, setCurrentFood] = useState({}); const {id} = useParams(); console.log(id); const [quantity, setQuantity] = useState(1); const [isSuccess, setIsSuccess] = useState(false); const [selectedBigImage, setSelectedBigImage] = useState(null); const [preloaderVisibility, setPreloaderVisibility] = useState("block"); // const [quantity, setQuantity] = useState(1); useEffect(() =&gt; { fetch("https://red-onion-backend.herokuapp.com/food/" + id).then((res) =&gt; res.json()).then((data) =&gt; { setCurrentFood(data); setPreloaderVisibility("none"); }).catch((err) =&gt; console.log(err)); if (currentFood.images) { setSelectedBigImage(currentFood.images[0]); } window.scrollTo(0, 0); }, [currentFood.name]); const finalCartHandler = (currentFood) =&gt; { currentFood.quantity = quantity; console.log(currentFood, 'food man'); props.cartHandler = currentFood; setIsSuccess(true); console.log(isSuccess, "what"); } if(isSuccess){ setTimeout(() =&gt; { setIsSuccess(false) console.log(isSuccess); }, 1500); } return ( &lt;div className="food-details container my-5"&gt; &lt;PreLoader visibility={preloaderVisibility}&gt;&lt;/PreLoader&gt; {currentFood.name &amp;&amp; ( &lt;div className="row"&gt; &lt;div className="col-md-6 my-5"&gt; &lt;h1&gt;{currentFood.name}&lt;/h1&gt; &lt;p className="my-5"&gt;{currentFood.fullDescription}&lt;/p&gt; &lt;div className="d-flex my-4"&gt; &lt;h2&gt;${currentFood.price.toFixed(2)}&lt;/h2&gt; &lt;div className="cart-controller ml-3"&gt; &lt;button className="btn" onClick={() =&gt; setQuantity(quantity &lt;= 1? 1: quantity - 1)} &gt; - &lt;/button&gt; &lt;button className="btn" onClick={() =&gt; setQuantity(quantity + 1)} &gt; + &lt;/button&gt; &lt;/div&gt; &lt;/div&gt; &lt;div className="action d-flex align-items-center"&gt; &lt;button className="btn btn-danger btn-rounded" onClick={() =&gt; finalCartHandler(currentFood)}&gt;&lt;FontAwesomeIcon icon={faCartArrowDown} /&gt; Add&lt;/button&gt; &lt;/div&gt; &lt;div className="more-images mt-5"&gt; {currentFood.images.map((img, index) =&gt; ( &lt;img onClick={() =&gt; setSelectedBigImage(currentFood.images[index])} className={ currentFood.images[index] === selectedBigImage? "mr-4 small-img active-small-img": "mr-4 small-img" } height="150px" src={img} alt="" /&gt; ))} &lt;/div&gt; &lt;/div&gt; &lt;div className="col-md-6 my-5"&gt; &lt;img src={selectedBigImage} className="img-fluid" alt="" /&gt; &lt;/div&gt; &lt;/div&gt; )} &lt;/div&gt; ); }; export default FoodItemDetails;</pre></div></object>

[英]ReactJs: TypeError: Cannot assign to read only property 'cartHandler' of object '#<Object>'?

ReactJs 類型錯誤:無法分配給 object 的只讀屬性“名稱”'#<object> '<div id="text_translate"><p> 我正在嘗試更改輸入的名稱屬性,因為我的組件的 state 發生了變化。<br> 簡而言之,這就是我想要做的。</p><pre> let displayInputElement = ( &lt;input type="text" name = {pips} placeholder="Type your answer here" className=" form-control" /&gt; ); displayInputElement.props.name = "chicken";</pre><p> 但我收到以下錯誤</p><blockquote><p>類型錯誤:無法分配給 object '#' 的只讀屬性“名稱”</p></blockquote><p> 請我如何在反應中實現以下目標</p><pre>displayInputElement.props.name = "chicken"; let pips = displayInputElement.props.name; displayInputElement = ( &lt;input type="text" name = "chicken" placeholder="Type your answer here" className=" form-control" /&gt; );</pre></div></object>

[英]ReactJs TypeError: Cannot assign to read only property 'name' of object '#<Object>'

TypeError:無法分配給 object 的只讀屬性 'statusKnown' '#<object> '<div id="text_translate"><p> 我正在嘗試根據我在基於反應 Class 的組件中的道具更新 state 但我收到錯誤消息</p><blockquote><p> TypeError:無法分配給 object '#' 的只讀屬性 'statusKnown'</p></blockquote><p> 這是下面的代碼</p><pre>componentDidMount(){ this.calClass() } calClass = () =&gt; { console.log(this.props.statusKnown, this.state.active); if (this.props.statusKnown == "deactive") this.setState({ active: false }); else if ((this.props.statusKnown = "active")) this.setState({ active: true }); };</pre><p> 然后在父組件中</p><pre>&lt;Button item={item} categoryID={categoryID} statusKnown={status}/&gt;;</pre><p> 如果反應不允許這件事,那么可能的解決方案是什么?</p></div></object>

[英]TypeError: Cannot assign to read only property 'statusKnown' of object '#<Object>'

未捕獲的類型錯誤:無法分配給 object 的只讀屬性“數量”'#<object> '<div id="text_translate"><p> 我正在從 API 獲取數據,然后將數組保存在 state 中。當我嘗試使用輸入修改數組中 object 中的特定字段時,出現以下錯誤:'Uncaught TypeError: Cannot assign只讀取 object '#'' 的屬性 'amount'。</p><p> <strong>狀態(我正在使用 RTK 查詢):</strong></p><pre> const { data: Florists_data, refetch } = useGetFloristQuery(Number(sessionStorage.getItem('florist_id'))); const [flowersData, setFlowersData] = useState(Florists_data?.florist[0].flowers); const [tmpFlowers, setTmpFlowers] = useState(Florists_data?.florist[0].flowers);</pre><p> <strong>更新 function:</strong></p><pre> const updateFieldChanged = (index: number, e: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>) => { let newArr = [...tmpFlowers;]. newArr[index].amount = Number(e.target;value); //GETTING ERROR HERE setTmpFlowers(newArr); }</pre><p> <strong>輸入:</strong></p><pre> {flowersData?.map((flower, index) => { return ( <> <div className={classes.Nested_Flower_Container} key={index}> <div className={classes.Nested_Flower_Name}> {flower.name} </div> <div className={classes.Nested_Flower_Input} style={{ marginRight: '0.2em' }}> <TextField id="Amount" label="Amount" variant="outlined" size="small" type="number" onChange={(e) => { updateFieldChanged(index, e); }} className={classes_2.root} /> </div> </div> </>) })}</pre></div></object>

[英]Uncaught TypeError: Cannot assign to read only property 'amount' of object '#<Object>'

TypeError: 無法分配給 object 的只讀屬性 'children' '#<object> '<div id="text_translate"><p> 使用 docker 構建的下一個 js 在包含 getServerSideProps package.json 的所有路由中重新加載時進入內部服務器錯誤</p><ul><li>反應:“17.0.2”</li><li> 下一個:“^11.1.2”</li></ul><p> <strong>在本地</strong>一切正常,如果我<strong>在沒有 docker 的情況下部署它</strong>。 但是在我打開網站后使用<strong>docker</strong> 。 如果我使用客戶端路由器導航,一切都很好。 但是一旦我重新加載頁面,它就會進入內部服務器錯誤並且不會重建頁面<a href="https://i.stack.imgur.com/FCgpe.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FCgpe.png" alt="在此處輸入圖像描述"></a></p><p> 檢查 docker 日志后,我發現了這個</p><pre>TypeError: Cannot assign to read only property 'children' of object '#&lt;Object&gt;' at /app/.next/server/chunks/6859.js:792:29 at /app/node_modules/react/cjs/react.development.js:1067:17 at mapIntoArray (/app/node_modules/react/cjs/react.development.js:964:23) at mapIntoArray (/app/node_modules/react/cjs/react.development.js:1004:23) at Object.mapChildren [as map] (/app/node_modules/react/cjs/react.development.js:1066:3) at Head.makeStylesheetInert (/app/.next/server/chunks/6859.js:782:36) at Head.render (/app/.next/server/chunks/6859.js:839:23) at processChild (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3450:18) at resolve (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3270:5) at ReactDOMServerRenderer.render (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3753:22) at ReactDOMServerRenderer.read (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3690:29) at Object.renderToStaticMarkup (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:4314:27) at Object.renderToHTML (/app/node_modules/next/dist/server/render.js:711:41) at runMicrotasks (&lt;anonymous&gt;) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async doRender (/app/node_modules/next/dist/server/next-server.js:1149:38)</pre></div></object>

[英]TypeError: Cannot assign to read only property 'children' of object '#<Object>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 ReactJs:類型錯誤:無法分配給 object 的只讀屬性“cartHandler”'#<object> '?<div id="text_translate"><p> 在這里,我正在嘗試建立一個餐廳網站。 我已經構建了它的一半。 但我被困在某個時刻。 我收到錯誤。 我無法在我的代碼中找出問題所在。 每當我嘗試通過單擊添加按鈕添加新食物然后我得到 TypeError: Cannot assign to read only property 'cartHandler' of object '#'?.. 我試圖在 cartHandler object 中調試,但我得到了同樣的錯誤很多次。 有人可以檢查一下嗎?</p><p> <strong>這是我的 App.js 文件</strong></p><pre>import logo from './logo.svg'; import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; import './App.css'; import '../node_modules/bootstrap/dist/css/bootstrap.min.css' import Banner from './components/Banner/Banner'; import Header from './components/Header/Header'; import Foods from './components/Foods/Foods'; import Features from './components/Features/Features'; import Footer from './components/Footer/Footer'; // import SIgnUp from './components/SignUp/SIgnUp'; import NotFound from './components/NotFound/NotFound'; import FoodItemDetails from './components/FoodItemDetails/FoodItemDetails' import { createContext, useContext, useState } from 'react'; import Login from './components/Login/Login'; export const userContext = createContext(); function App() { const [cart, setCart] = useState([]); const [orderId, setOrderId] = useState(null); const [deliveryDetails, setDeliveryDetails] = useState({ todoor:null,road:null, flat:null, businessname:null, address: null }); const [userEmail, setUserEmail] = useState(null); const deliveryDetailsHandler = (data) =&gt; { setDeliveryDetails(data) } const getUserEmail = (email) =&gt; { setUserEmail(email); } const clearCart = () =&gt; { const orderedItems = cart.map(cartItem =&gt; { return {food_id: cartItem.id, quantity: cartItem.quantity} }) const orderDetailsData = { userEmail, orderedItems, deliveryDetails } fetch('https://red-onion-backend.herokuapp.com/submitorder', { method: "POST", headers: { "Content-type": "application/json" }, body: JSON.stringify(orderDetailsData) }).then(res =&gt; res.json()).then(data=&gt; setOrderId(data._id)) console.log(orderId); setCart([]) } const cartHandler = (data) =&gt; { const alreadyAdded = cart.find(crt =&gt; crt.id == data.id ); const newCart = [...cart,data] setCart(newCart); if(alreadyAdded){ const reamingCarts = cart.filter(crt =&gt; cart.id;= data); setCart(reamingCarts). }else{ const newCart = [..,cart;data] setCart(newCart), } } const checkOutItemHandler = (productId. productQuantity) =&gt; { const newCart = cart.map(item =&gt; { if(item.id == productId){ item;quantity = productQuantity; } return item. }) const filteredCart = newCart.filter(item =&gt; item,quantity &gt; 0) setCart(filteredCart) } const [logggedInUser; setLoggedInUser] = useState({}), const [signOutUser; setSignOutUser] = useState({}). return ( &lt;userContext,Provider value={([logggedInUser, setLoggedInUser], [signOutUser: setSignOutUser])}&gt; &lt;Router&gt; &lt;div className="App"&gt; &lt;Switch&gt; &lt;Route exact path="/"&gt; &lt;Header&gt;&lt;/Header&gt; &lt;Banner&gt;&lt;/Banner&gt; &lt;Foods&gt;&lt;/Foods&gt; &lt;Features&gt;&lt;/Features&gt; &lt;Footer&gt;&lt;/Footer&gt; &lt;/Route&gt; &lt;Route path="/user"&gt; &lt;Login&gt;&lt;/Login&gt; &lt;/Route&gt; &lt;Route path= "/food/.id"&gt; &lt;Header cart={cart}&gt;&lt;/Header&gt; {/* &lt;FoodItemDetails cart={cart} cartHandler={cartHandler}&gt;&lt;/FoodItemDetails&gt; */} &lt;FoodItemDetails cart={cart} cartHandler={cartHandler}&gt;&lt;/FoodItemDetails&gt; &lt;Footer&gt;&lt;/Footer&gt; &lt;/Route&gt; &lt;Route path ="*"&gt; &lt;NotFound&gt;&lt;/NotFound&gt; &lt;/Route&gt; &lt;/Switch&gt; &lt;/div&gt; &lt;/Router&gt; &lt;/userContext;Provider&gt; ); } export default App;</pre><p> <strong>這是我的 FoodItemDetails.js 文件</strong></p><pre>import React, { useEffect, useState } from "react"; import { useParams } from "react-router"; // import { useParams } from "react-router"; // import PreLoader from "../PreLoader/PreLoader"; import { FontAwesomeIcon} from '@fortawesome/react-fontawesome' import { faCartArrowDown, faCheckCircle } from '@fortawesome/free-solid-svg-icons' import PreLoader from "../PreLoader/PreLoader"; const FoodItemDetails = (props) =&gt; { // const {name,shortDescription,price,images} = props.food; console.log(props, "nashir") const [currentFood, setCurrentFood] = useState({}); const {id} = useParams(); console.log(id); const [quantity, setQuantity] = useState(1); const [isSuccess, setIsSuccess] = useState(false); const [selectedBigImage, setSelectedBigImage] = useState(null); const [preloaderVisibility, setPreloaderVisibility] = useState("block"); // const [quantity, setQuantity] = useState(1); useEffect(() =&gt; { fetch("https://red-onion-backend.herokuapp.com/food/" + id).then((res) =&gt; res.json()).then((data) =&gt; { setCurrentFood(data); setPreloaderVisibility("none"); }).catch((err) =&gt; console.log(err)); if (currentFood.images) { setSelectedBigImage(currentFood.images[0]); } window.scrollTo(0, 0); }, [currentFood.name]); const finalCartHandler = (currentFood) =&gt; { currentFood.quantity = quantity; console.log(currentFood, 'food man'); props.cartHandler = currentFood; setIsSuccess(true); console.log(isSuccess, "what"); } if(isSuccess){ setTimeout(() =&gt; { setIsSuccess(false) console.log(isSuccess); }, 1500); } return ( &lt;div className="food-details container my-5"&gt; &lt;PreLoader visibility={preloaderVisibility}&gt;&lt;/PreLoader&gt; {currentFood.name &amp;&amp; ( &lt;div className="row"&gt; &lt;div className="col-md-6 my-5"&gt; &lt;h1&gt;{currentFood.name}&lt;/h1&gt; &lt;p className="my-5"&gt;{currentFood.fullDescription}&lt;/p&gt; &lt;div className="d-flex my-4"&gt; &lt;h2&gt;${currentFood.price.toFixed(2)}&lt;/h2&gt; &lt;div className="cart-controller ml-3"&gt; &lt;button className="btn" onClick={() =&gt; setQuantity(quantity &lt;= 1? 1: quantity - 1)} &gt; - &lt;/button&gt; &lt;button className="btn" onClick={() =&gt; setQuantity(quantity + 1)} &gt; + &lt;/button&gt; &lt;/div&gt; &lt;/div&gt; &lt;div className="action d-flex align-items-center"&gt; &lt;button className="btn btn-danger btn-rounded" onClick={() =&gt; finalCartHandler(currentFood)}&gt;&lt;FontAwesomeIcon icon={faCartArrowDown} /&gt; Add&lt;/button&gt; &lt;/div&gt; &lt;div className="more-images mt-5"&gt; {currentFood.images.map((img, index) =&gt; ( &lt;img onClick={() =&gt; setSelectedBigImage(currentFood.images[index])} className={ currentFood.images[index] === selectedBigImage? "mr-4 small-img active-small-img": "mr-4 small-img" } height="150px" src={img} alt="" /&gt; ))} &lt;/div&gt; &lt;/div&gt; &lt;div className="col-md-6 my-5"&gt; &lt;img src={selectedBigImage} className="img-fluid" alt="" /&gt; &lt;/div&gt; &lt;/div&gt; )} &lt;/div&gt; ); }; export default FoodItemDetails;</pre></div></object> TypeError:無法分配為只讀對象“#”的屬性“ exports” <Object> 在ReactJS中 ReactJs 類型錯誤:無法分配給 object 的只讀屬性“名稱”'#<object> '<div id="text_translate"><p> 我正在嘗試更改輸入的名稱屬性,因為我的組件的 state 發生了變化。<br> 簡而言之,這就是我想要做的。</p><pre> let displayInputElement = ( &lt;input type="text" name = {pips} placeholder="Type your answer here" className=" form-control" /&gt; ); displayInputElement.props.name = "chicken";</pre><p> 但我收到以下錯誤</p><blockquote><p>類型錯誤:無法分配給 object '#' 的只讀屬性“名稱”</p></blockquote><p> 請我如何在反應中實現以下目標</p><pre>displayInputElement.props.name = "chicken"; let pips = displayInputElement.props.name; displayInputElement = ( &lt;input type="text" name = "chicken" placeholder="Type your answer here" className=" form-control" /&gt; );</pre></div></object> 未捕獲的TypeError:無法分配為只讀對象&#39;#的屬性&#39;background&#39; <Object> “ 未捕獲的TypeError:無法分配給對象'#<Object>'的只讀屬性'exports' TypeError:無法分配給 object 的只讀屬性 'statusKnown' '#<object> '<div id="text_translate"><p> 我正在嘗試根據我在基於反應 Class 的組件中的道具更新 state 但我收到錯誤消息</p><blockquote><p> TypeError:無法分配給 object '#' 的只讀屬性 'statusKnown'</p></blockquote><p> 這是下面的代碼</p><pre>componentDidMount(){ this.calClass() } calClass = () =&gt; { console.log(this.props.statusKnown, this.state.active); if (this.props.statusKnown == "deactive") this.setState({ active: false }); else if ((this.props.statusKnown = "active")) this.setState({ active: true }); };</pre><p> 然后在父組件中</p><pre>&lt;Button item={item} categoryID={categoryID} statusKnown={status}/&gt;;</pre><p> 如果反應不允許這件事,那么可能的解決方案是什么?</p></div></object> 未捕獲的類型錯誤:無法分配給對象“[對象數組]”的只讀屬性“1” 未捕獲的類型錯誤:無法分配給 object 的只讀屬性“數量”'#<object> '<div id="text_translate"><p> 我正在從 API 獲取數據,然后將數組保存在 state 中。當我嘗試使用輸入修改數組中 object 中的特定字段時,出現以下錯誤:'Uncaught TypeError: Cannot assign只讀取 object '#'' 的屬性 'amount'。</p><p> <strong>狀態(我正在使用 RTK 查詢):</strong></p><pre> const { data: Florists_data, refetch } = useGetFloristQuery(Number(sessionStorage.getItem('florist_id'))); const [flowersData, setFlowersData] = useState(Florists_data?.florist[0].flowers); const [tmpFlowers, setTmpFlowers] = useState(Florists_data?.florist[0].flowers);</pre><p> <strong>更新 function:</strong></p><pre> const updateFieldChanged = (index: number, e: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>) => { let newArr = [...tmpFlowers;]. newArr[index].amount = Number(e.target;value); //GETTING ERROR HERE setTmpFlowers(newArr); }</pre><p> <strong>輸入:</strong></p><pre> {flowersData?.map((flower, index) => { return ( <> <div className={classes.Nested_Flower_Container} key={index}> <div className={classes.Nested_Flower_Name}> {flower.name} </div> <div className={classes.Nested_Flower_Input} style={{ marginRight: '0.2em' }}> <TextField id="Amount" label="Amount" variant="outlined" size="small" type="number" onChange={(e) => { updateFieldChanged(index, e); }} className={classes_2.root} /> </div> </div> </>) })}</pre></div></object> 類型錯誤:無法分配給對象“[object Array]”的只讀屬性“0” TypeError: 無法分配給 object 的只讀屬性 'children' '#<object> '<div id="text_translate"><p> 使用 docker 構建的下一個 js 在包含 getServerSideProps package.json 的所有路由中重新加載時進入內部服務器錯誤</p><ul><li>反應:“17.0.2”</li><li> 下一個:“^11.1.2”</li></ul><p> <strong>在本地</strong>一切正常,如果我<strong>在沒有 docker 的情況下部署它</strong>。 但是在我打開網站后使用<strong>docker</strong> 。 如果我使用客戶端路由器導航,一切都很好。 但是一旦我重新加載頁面,它就會進入內部服務器錯誤並且不會重建頁面<a href="https://i.stack.imgur.com/FCgpe.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FCgpe.png" alt="在此處輸入圖像描述"></a></p><p> 檢查 docker 日志后,我發現了這個</p><pre>TypeError: Cannot assign to read only property 'children' of object '#&lt;Object&gt;' at /app/.next/server/chunks/6859.js:792:29 at /app/node_modules/react/cjs/react.development.js:1067:17 at mapIntoArray (/app/node_modules/react/cjs/react.development.js:964:23) at mapIntoArray (/app/node_modules/react/cjs/react.development.js:1004:23) at Object.mapChildren [as map] (/app/node_modules/react/cjs/react.development.js:1066:3) at Head.makeStylesheetInert (/app/.next/server/chunks/6859.js:782:36) at Head.render (/app/.next/server/chunks/6859.js:839:23) at processChild (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3450:18) at resolve (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3270:5) at ReactDOMServerRenderer.render (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3753:22) at ReactDOMServerRenderer.read (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:3690:29) at Object.renderToStaticMarkup (/app/node_modules/react-dom/cjs/react-dom-server.node.development.js:4314:27) at Object.renderToHTML (/app/node_modules/next/dist/server/render.js:711:41) at runMicrotasks (&lt;anonymous&gt;) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async doRender (/app/node_modules/next/dist/server/next-server.js:1149:38)</pre></div></object>
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM