零基础涂鸦智能面板SDK开发记录(4/4)

本文详细介绍了如何使用React和Redux进行涂鸦智能面板的SDK开发,包括数据获取、状态管理以及功能实现。通过React的useSelector Hook获取DpCodes中的powerCode和countdownCode状态,并利用throttle函数处理数据更改。同时,文章提到了TYSdk.devInfo.panelConfig.bic的遍历来判断云定时器的支持情况。
摘要由CSDN通过智能技术生成

这是对上一篇 数据的获取和更改 TS 版解释

//powerCode\countdownCode-->dpCodes的键名
const { powerCode, countdownCode } = DpCodes;

interface HomeBottomViewProps {
  theme?: any;
}

const HomeBottomView: React.FC<HomeBottomViewProps> = ({
  theme: {
    global: { themeColor, fontColor },
  },
}) => {
  const [isSupportCloudTimer, setIsSupportCloudTimer] = useState(false);
  //react-redux useSelector() API 具体 https://blog.csdn.net/qq_33551792/article/details/103514954
  const power = useSelector(state => state.dpState[powerCode]);
  const countdown = useSelector(state => state.dpState[countdownCode]) as number;

  useEffect(() => {
    TYSdk.devInfo.panelConfig.bic.forEach(i => {
      if (i.code === 'timer' && i.selected) {
        setIsSupportCloudTimer(true);
      }
    });
  }, []);

  //更改数据
  const _handleTogglePower = useCallback(
    throttle(() => {
      lampPutDpData({ [powerCode]: !power });
    }, 200),
    [power]
  );零基础涂鸦智能面板SDK开发记录(1/4)_小铁-Android的博客-CSDN博客
零基础涂鸦智能面板SDK开发记录(2/4)_小铁-Android的博客-CSDN博客
零基础涂鸦智能面板SDK开发记录(3/4)-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值