我最近遇到了React Context问题。
我有一些存储在本地存储中的数据,仅在上下文提供者没有可用数据时才打算使用。
localstorage中的数据存储在组件的状态下。 如果有来自上下文的可用数据,我想重写this.state。
挣扎的是,当上下文只能在render方法中使用时,我不知道如何设置状态。 在渲染器中调用setState是非常糟糕的做法,我不知道如何在渲染器之外获取context.state。
如果没有数据
下面有一些示例代码。
欢迎任何想法,这些想法使我更接近解决方案。
import numpy as np
X = np.random.randint(2, size=(6, 10))
Y = np.array([1, 1, 1, 2, 1, 2])
X
#array([[0, 1, 1, 0, 1, 1, 0, 1, 1, 0],
[1, 1, 1, 0, 1, 1, 0, 0, 0, 0],
[1, 0, 1, 1, 0, 0, 1, 0, 0, 0],
[1, 0, 1, 1, 0, 1, 0, 0, 0, 1],
[0, 0, 1, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 0, 1, 0, 0, 1, 0, 0, 0]])
from sklearn.naive_bayes import BernoulliNB
clf = BernoulliNB()
clf.fit(X, Y)
clf.feature_count_
#
array([[2., 2., 4., 1., 2., 2., 1., 2., 2., 1.],
[2., 1., 1., 2., 0., 1., 1., 0., 0., 1.]])
clf.feature_log_prob_
#
array([[-0.69314718, -0.69314718, -0.18232156, -1.09861229, -0.69314718,
-0.69314718, -1.09861229, -0.69314718, -0.69314718, -1.09861229],
[-0.28768207, -0.69314718, -0.69314718, -0.28768207, -1.38629436,
-0.69314718, -0.69314718, -1.38629436, -1.38629436, -0.69314718]])
答案 0 :(得分:2)
您可以使用以下技巧访问渲染外部的上下文:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
|-sda1 8:1 0 7.6G 0 part /
|-sda2 8:2 0 1K 0 part
`-sda5 8:5 0 383M 0 part [SWAP]
sdb 8:16 0 30G 0 disk
`-sdb1 8:17 0 30G 0 part
`-storage1-home (dm-0) 254:0 0 30G 0 lvm /home
sdc 8:32 0 30G 0 disk
`-sdc1 8:33 0 30G 0 part
sudo genfstab /
realpath: invalid option -- 'm'
Usage:
realpath [-s|--strip] [-z|--zero] filename ...
realpath -h|--help
realpath -v|--version
==> ERROR: is not a mountpoint
答案 1 :(得分:1)
进入Class.contextType,以访问类方法中的上下文。