小编lsi*_*tti的帖子

反应 - 检查道具是否存在

我在互联网上搜索了这个问题的答案,但我没找到.所以我在这里发帖子.

我有一个父组件(App)和一个子组件(Child).App组件的状态包含一些数据,如下所示:

class App extends Component {
    constructor() {
        super()

        this.state = {
            currentOrganization: {
                name: 'name',
                email: 'email'
            }
        }
        render() {
            return (
                <Child data={this.state.currentOrganization} />
            )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的Child组件中,我有一个表单:

class Child extends Component {
    constructor() {
        super()

        this.state = {
            formData: {
                name: '',
                email: '',
            }
        }
    }

        render() {
            return (
            <Form ... />
          )
        }
    }
Run Code Online (Sandbox Code Playgroud)

根据React文档,表单通常应该具有包含与表单的每个元素相对应的属性的状态.我的Child组件中的表单必须具有currentOrganization的数据(如App组件中所示)预先填充到自身中.

为了实现这一点,我必须将Child的状态设置为从其父级接收的道具.

检查我的Child组件是否收到了更新自己状态所需的道具的最佳方法是什么?

javascript reactjs

14
推荐指数
1
解决办法
2万
查看次数

useEffect挂钩在状态更改后未触发

我有两个兄弟组件通过react中的上下文共享状态。组件之间的共享状态是一个数组。

如果我更新arr一个组件中的状态,我希望另一个组件侦听该更新并相应地执行某些操作。useEffect在第二个组件中使用时,我会监听arr状态变量中的更改。

例如:

// App Component -------
const App = props => {
 const { arr, setArr } = useContext(GlobalContext)

 const handleChange = () => {
   const newArr = arr
   [10, 20, 30, 40].map(v => {
     newArr.push(v)
     setArr(newArr)
   })

  return (...)
}

// App2 (Sibling) Component 
const App2 = props => {
  const { arr, setArr } = useContext(GlobalContext)
  const [localArr, setLocalArr] = useState(0)

  useEffect(
    () => {
      updateLocalState()
    },
    // fire if "arr" …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

7
推荐指数
2
解决办法
4319
查看次数

JSON 包含空数组的 MySQL

如何在 JSON 列中搜索空数组?

假设我有一config列有时 JSON 等于{"tier": []}.

WHERE JSON_CONTAINS(config, '', '$.tier') = 1
Run Code Online (Sandbox Code Playgroud)

或者

WHERE JSON_CONTAINS_PATH(config, 'one', '$.tier') = NULL
Run Code Online (Sandbox Code Playgroud)

不返回任何结果。有什么我想念的吗?

我专门四处寻找答案,但在 SO 或 MySQL 文档上找不到任何内容。

mysql sql json

2
推荐指数
2
解决办法
4483
查看次数

标签 统计

javascript ×2

reactjs ×2

json ×1

mysql ×1

react-hooks ×1

sql ×1