无法分配给#
的只读属性'props'我检查#1654但没有成功。请在此处详细了解该问题 -
基本上我正在做的是使用Navigator从索引页面移动到ApplistGridView页面。 我看到导航成功(来自日志),但是,即使在我看到屏幕之前,我也面临这个问题。
Chrome调试消息 -
代码发布在Github 还没有找到解决方案。 我做错了什么?
答案 0 :(得分:11)
您无法推送到道具this.props.nav.push({id: 'Applist', index: 2});
,因为组件属性是只读的,因为错误说明了。道具只能从父组件派生,但不能修改。
编辑:这篇文章是一个很好的起点,让人们在这件事情上感到困惑,因为我不久前:) https://reactjs.org/docs/thinking-in-react.html
答案 1 :(得分:1)
只有一件事:
npm install typescript@4.0.5
重启服务器
答案 2 :(得分:0)
如果发生这种情况不是因为道具,而是因为状态,则您可能正在尝试执行以下任务:
this.state.nav = 'whatever';
请记住,React中对state
的分配应类似于:
this.setState({
nav: 'whatever'
});
答案 3 :(得分:0)
您写了this.props.nav.push({id: 'Applist', index: 2});
但是this.props
是只读的;您无法修改它。
如果要将一些值传递给父react组件,则可以在子组件中使用this.prop.onSomeEvent(value)
。然后在父组件中处理推送过程。
答案 4 :(得分:0)
在文件node_modules \ react-scripts \ scripts \ utils \ verifyTypeScriptSetup.js中 更改 ts.JsxEmit.ReactJsx 至 ts.JsxEmit.ReactJSX