似乎我总是返回一个空数组时,试图拉数据从我的表。这就是我在遵循文档和几个教程之后所做的。
const [tableData, setTableData] = useState([]);
async function getTableData() {
let { data, error } = await supabase
.from('SignalJourneyAudienceConstraints')
.select('*');
setTableData(data);
console.log(tableData);
}
useEffect(() => {
getTableData();
}, []);
字符串
我在表中有这样的数据。
的数据
我唯一能想到的就是table的名字??
我还尝试了以下方法
let { data: SignalJourneyAudienceConstraints, error } = await supabase
.from('SignalJourneyAudienceConstraints')
.select('*')
型
但是得到了一个错误ReferenceError: data is not defined
,在VSC中,我得到了All destructured elements are unused.ts(6198)
。
我总是看到教程只是使用data
虽然。
4条答案
按热度按时间plicqrtu1#
我不得不关掉table上的RLS。
1u4esq0p2#
您应该禁用RLS(不安全)或为您的表定义策略。(项目中的每个表都有自己的策略,应该单独创建规则)
yhived7q3#
即使关闭了RLS,我也没有收到任何记录。结果发现NextJS正在缓存响应。
硬刷新(使用
cmd-shift-r
或按住Chrome中的刷新按钮)对我来说很有效。mfpqipee4#
打开您的数据库项目 Jmeter 板。然后进入左侧的“身份验证”菜单。然后打开“配置”->“策略”。
x1c 0d1x的数据
然后为您的表创建**“新策略”。
将
true
放入USING expression列。请看我下面的截图;
的
它会给予你一个使用RLS访问Public表的权限。RLS的使用非常重要,因为在生产环境中,它使您的表不能被任何人编辑。并且您可以只为
SELECT
设置允许操作**(见第二张截图)。所以,如果anon key是分散的,那也没关系。那就是只能看到内容,不能修改。