我一直在遵循使用 useContext 将减速器传递给子组件的指南,但是当从子组件分派时,它似乎没有重新渲染父组件。
从子组件分派时,状态本身似乎正确更新(如通过 console.logging state.count 完成的),但父组件不反映状态的更改。
我尝试将调度函数作为道具传递给 Child,这确实更新了 App.js,但我认为我的方法更干净,我可能会做错什么。我还放入{state.count}了 Child.js 并且它确实得到了正确更新,但对于这种情况我需要它在父组件中。这是代码:
应用程序.js
import React, { useReducer } from 'react';
import { StateProvider } from './reducer';
import Child from './Child'
function App() {
const reducer = (state, action) => {
switch (action.type) {
case 'add':
console.log(state.count+1)
return {...state, count: state.count + 1}
default:
throw new Error();
}
}
const initialState = {count: 1};
const [state, dispatch] = useReducer(reducer, initialState)
return (
<StateProvider initialState={initialState} reducer={reducer}>
<div className="App">
{state.count}
<Child></Child> …Run Code Online (Sandbox Code Playgroud) 我在这里运行一个代码:
import docx, os
os.chdir('C:\\PythonScripts')
doc = docx.Document()
doc.add_paragraph('Hello World!')
doc.paragraphs[0].style = 'Heading6'
doc.save('test.docx')
Run Code Online (Sandbox Code Playgroud)
我在标题中得到了那个警告。该脚本仍然有效,但我认为我在最新更新中做了一些过时的事情。我该如何正确地做到这一点?
如何更改列排序行为,而不是像这样按字母顺序排序:
1、11.1、2、22.2、3 等
它将按数字排序,如下所示:
1、2、3、11.1、22.2 等
我需要仅更改特定列上的排序行为,而不是整个表上的排序行为,因为我想保持名称的正常字母顺序。
我还有一个包含文件大小的列。它们以 MB 和 GB 表示,我想对其进行排序,以便 800 MB 排在前面,1.4 GB 排在后面。它还存在字母排序的问题。有没有一种方法可以做到这一点?
javascript ×1
pyqt ×1
pyqt5 ×1
python ×1
python-3.x ×1
qtablewidget ×1
react-hooks ×1
reactjs ×1
sorting ×1